要检查表的字段是否具有NOT NULL属性,可以使用两种语法中的任何一种。第一种语法如下-
desc yourTableName;
以下是第二种语法-
select column_name, is_nullable from information_schema.columns where table_schema = ‘yourDatabaseName’ and table_name = 'yourTableName’;
我们首先来看一个示例并创建一个表-
mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(40), StudentAge int NOT NULL, IsActiveStudent ENUM('ACTIVE",INACTIVE') NOT NULL, StudentCountryName varchar(40) );
第一种语法如下,检查表的字段是否设置了NOT NULL属性-
mysql> desc DemoTable;
这将产生以下输出-
+--------------------+--------------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+--------------------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(40) | YES | | NULL | | | StudentAge | int(11) | NO | | NULL | | | IsActiveStudent | enum('ACTIVE",INACTIVE') | NO | | NULL | | | StudentCountryName | varchar(40) | YES | | NULL | | +--------------------+--------------------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)
第二种语法如下检查表的字段是否设置了NOT NULL属性-
mysql> select column_name, is_nullable from information_schema.columns where table_schema = 'web' and table_name = 'DemoTable';
这将产生以下输出-
+--------------------+-------------+ | COLUMN_NAME | IS_NULLABLE | +--------------------+-------------+ | StudentId | NO | | StudentName | YES | | StudentAge | NO | | IsActiveStudent | NO | | StudentCountryName | YES | +--------------------+-------------+ 5 rows in set (0.00 sec)