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

Làm cách nào để loại bỏ ràng buộc NOT NULL khỏi một cột của bảng MySQL hiện có?

Chúng ta có thể xóa ràng buộc NOT NULL khỏi một cột của bảng hiện có bằng cách sử dụng câu lệnh ALTER TABLE.

Ví dụ

Giả sử chúng ta có một bảng ‘test123’ có ràng buộc NOT NULL trên cột ‘ID’ như sau -

mysql> DESCRIBE test123;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra    |
+-------+---------+------+-----+---------+-------+
| ID    | int(11) | NO   |     |   NULL  |       |
| Date  | date    | YES  |     |   NULL  |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.04 sec)

Bây giờ nếu chúng ta muốn loại bỏ ràng buộc NOT NULL thì chúng ta có thể sử dụng câu lệnh ALTER TABLE như sau -

mysql> ALTER TABLE test123 MODIFY ID INT NULL;
Query OK, 0 rows affected (0.20 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> DESCRIBE test123;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+------ +---------+------+-----+---------+-------+
| ID    | int(11) | YES  |     |   NULL  |       |
| Date  | date    | YES  |     |   NULL  |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.06 sec)

Tập hợp kết quả trên cho thấy ràng buộc NOT NULL trên cột ‘ID’ đã bị loại bỏ.

Trong truy vấn ở trên, từ khóa NULL sau từ khóa MODIFY là tùy chọn. Truy vấn sau cũng sẽ cho kết quả tương tự như trên -

mysql> ALTER TABLE test123 MODIFY ID INT;
Query OK, 0 rows affected (0.20 sec)
Records: 0 Duplicates: 0 Warnings: 0