Computer >> Máy Tính >  >> Lập trình >> MySQL

Kiểm tra xem một trường của bảng có đặt thuộc tính NOT NULL trong SQL hay không?

Để kiểm tra xem trường của bảng có thuộc tính NOT NULL hay không, bạn có thể sử dụng bất kỳ cú pháp nào trong hai cú pháp. Cú pháp đầu tiên như sau -

desc yourTableName;

Sau đây là cú pháp thứ hai -

select column_name,
   is_nullable
   from information_schema.columns
   where table_schema = ‘yourDatabaseName’
   and table_name = 'yourTableName’;

Đầu tiên chúng ta hãy xem một ví dụ và tạo một bảng -

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)
);
Query OK, 0 rows affected (1.53 sec)

Cú pháp đầu tiên như sau để kiểm tra xem trường của bảng có bộ thuộc tính NOT NULL hay không -

mysql> desc DemoTable;

Điều này sẽ tạo ra kết quả sau -

+--------------------+--------------------------+------+-----+---------+----------------+
| 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)

Cú pháp thứ hai như sau để kiểm tra xem trường của bảng có bộ thuộc tính NOT NULL hay không -

mysql> select column_name,
   is_nullable
   from information_schema.columns
   where table_schema = 'web'
   and table_name = 'DemoTable';

Điều này sẽ tạo ra kết quả sau -

+--------------------+-------------+
| COLUMN_NAME        | IS_NULLABLE |
+--------------------+-------------+
| StudentId          | NO          |
| StudentName        | YES         |
| StudentAge         | NO          |
| IsActiveStudent    | NO          |
| StudentCountryName | YES         |
+--------------------+-------------+
5 rows in set (0.00 sec)