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

Loại bỏ hạn chế NOT NULL khỏi cột trong MySQL?

Để loại bỏ hạn chế NOT NULL khỏi cột trong MySQL, hãy sử dụng lệnh ALTER. Cú pháp như sau:

ALTER TABLE yourTableName MODIFY COLUMN yourColumnName dataType;

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau:

mysql> create table NotNullDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20) NOT NULL,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.58 sec)

Trong bảng trên, nếu bạn chèn giá trị NULL vào cột ‘Tên’ thì MySQL sẽ báo lỗi giới hạn NOT NULL. Truy vấn để chèn giá trị NULL như sau:

mysql> insert into NotNullDemo(Name) values(NULL);
ERROR 1048 (23000): Column 'Name' cannot be null

Đây là truy vấn để loại bỏ hạn chế KHÔNG ĐẦY ĐỦ khỏi cột 'Tên':

mysql> alter table NotNullDemo MODIFY COLUMN Name varchar(20);
Query OK, 0 rows affected (1.78 sec)

Hồ sơ:0 Bản sao:0 Cảnh báo:0

Bây giờ bạn có thể chèn các giá trị NULL theo lựa chọn của mình. Truy vấn để chèn bản ghi trong bảng với giá trị NULL:

mysql> insert into removeNotNulllDemo(Name) values(NULL);
Query OK, 1 row affected (0.12 sec)
mysql> insert into removeNotNulllDemo(Name) values('Sam');
Query OK, 1 row affected (0.14 sec)
mysql> insert into removeNotNulllDemo(Name) values('Mike');
Query OK, 1 row affected (0.13 sec)
mysql> insert into removeNotNulllDemo(Name) values(NULL);
Query OK, 1 row affected (0.10 sec)
mysql> insert into removeNotNulllDemo(Name) values(NULL);
Query OK, 1 row affected (0.10 sec)
mysql> insert into removeNotNulllDemo(Name) values('John');
Query OK, 1 row affected (0.13 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau:

mysql> select *from removeNotNulllDemo;

Sau đây là kết quả:

+----+------+
| Id | Name |
+----+------+
|  1 | NULL |
|  2 | Sam  |
|  3 | Mike |
|  4 | NULL |
|  5 | NULL |
|  6 | John |
+----+------+
6 rows in set (0.00 sec)