Dùng ràng buộc NOT NULL khi tạo bảng (CREATE TABLE) hoặc sửa bảng (ALTER TABLE) để cột bắt buộc phải có giá trị, không chấp nhận NULL.
Ví dụ minh họa
Tạo bảng Id và LastName NOT NULL:
mysql> CREATE TABLE DemoTable1895 (
Id INT NOT NULL,
FirstName VARCHAR(20),
LastName VARCHAR(20) NOT NULL
);
Thử chèn NULL vào cột NOT NULL:
mysql> INSERT INTO DemoTable1895 VALUES(100,'John','Smith'); -- OK mysql> INSERT INTO DemoTable1895 VALUES(NULL,'Chris','Brown'); -- ERROR 1048: Id cannot be null mysql> INSERT INTO DemoTable1895 VALUES(102,'Carol',NULL); -- ERROR 1048: LastName cannot be null mysql> INSERT INTO DemoTable1895 VALUES(103,NULL,'Miller'); -- OK (FirstName cho phép NULL)
Kết quả:
+-----+-----------+----------+ | Id | FirstName | LastName | +-----+-----------+----------+ | 100 | John | Smith | | 103 | NULL | Miller | +-----+-----------+----------+
Best practice: Mặc định tất cả cột NOT NULL, chỉ cho phép NULL khi có nghĩa nghiệp vụ rõ ràng (chưa biết, không áp dụng).