Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Thêm ràng buộc NOT NULL cho cột đã tồn tại trong MySQL

Dùng ALTER TABLE ... MODIFY COLUMN để thay đổi định nghĩa cột, thêm NOT NULL. Lưu ý: cột không được chứa giá trị NULL hiện tại, nếu không sẽ báo lỗi.

Ví dụ minh họa

Tạo bảng (StudentName cho phép NULL):

mysql> CREATE TABLE DemoTable (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName VARCHAR(100)
);

Kiểm tra cấu trúc:

mysql> DESC DemoTable;
+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| StudentId   | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentName | varchar(100) | YES  |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+

Thêm NOT NULL cho StudentName:

mysql> ALTER TABLE DemoTable MODIFY StudentName VARCHAR(100) NOT NULL;

Kiểm tra lại:

mysql> DESC DemoTable;

Kết quả

+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| StudentId   | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentName | varchar(100) | NO   |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+

Lưu ý: Phải khai báo lại đầy đủ kiểu dữ liệu (VARCHAR(100)) khi dùng MODIFY. Nên chạy UPDATE ... SET cot = 'default' WHERE cot IS NULL trước nếu cột đang có NULL.