Theo mặc định, MySQL chấp nhận các giá trị không hợp lệ. Bạn có thể đặt MySQL ở chế độ nghiêm ngặt để buộc các giá trị hợp lệ. Thao tác này sẽ từ chối truy vấn không cung cấp giá trị cho cột KHÔNG ĐẦY ĐỦ cũng như thực thi tính toàn vẹn trên tất cả các loại cột.
Cập nhật: MySQL 5.7 trở lên hiện có chế độ nghiêm ngặt được bật theo mặc định. Vì vậy, nó sẽ không chấp nhận các giá trị không hợp lệ theo mặc định như các phiên bản trước.
http://dev.mysql .com / doc / refman / 5.0 / en / sql-mode.html # sql-mode-important
http://dev.mysql.com/doc /refman/5.0/en/sql-mode.html#sqlmode_strict_all_tables
Chỉnh sửa:@Barranka và @RocketHazmat đã đưa ra những điểm tốt trong nhận xét. ''
không giống với null, vì vậy MySQL sẽ cho phép điều đó trong cột NOT NULL. Trong trường hợp đó, bạn sẽ phải dùng đến mã của mình hoặc một trình kích hoạt.
Trong mã (ví dụ:PHP), điều này có thể đủ dễ dàng, chạy một cái gì đó như:
if (!strlen($value)) {
// Exclude value or use NULL in query
}