Secara default, MySQL menerima nilai yang tidak valid. Anda dapat mengatur MySQL ke mode ketat untuk memaksa nilai yang valid. Ini akan menolak kueri yang tidak memberikan nilai untuk kolom NOT NULL serta menegakkan integritas pada semua jenis kolom.
Pembaruan: MySQL 5.7 dan di atasnya sekarang memiliki mode ketat aktif secara default. Jadi tidak akan menerima nilai yang tidak valid secara default seperti versi sebelumnya.
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
Sunting:@Barranka dan @RocketHazmat membuat poin bagus di komentar. ''
tidak sama dengan null, jadi MySQL akan mengizinkannya di kolom NOT NULL. Dalam hal ini, Anda harus menggunakan kode atau pemicu Anda.
Dalam kode (PHP misalnya), ini bisa cukup mudah, menjalankan sesuatu seperti:
if (!strlen($value)) {
// Exclude value or use NULL in query
}