检查表的字段是否在SQL中设置了NOT NULL属性?

要检查表的字段是否具有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)

以上是 检查表的字段是否在SQL中设置了NOT NULL属性? 的全部内容, 来源链接: utcz.com/z/341066.html

回到顶部