По подразбиране MySQL приема невалидни стойности. Можете да настроите MySQL в строг режим, за да наложите валидни стойности. Това ще отхвърли заявка, която не предоставя стойност за колона NOT NULL, както и ще наложи целостта на всички типове колони.
Актуализация: MySQL 5.7 и по-нови вече имат строг режим по подразбиране. Така че няма да приема невалидни стойности по подразбиране, както предишните версии.
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
Редактиране:@Barranka и @RocketHazmat направиха добри точки в коментарите. ''
не е същото като null, така че MySQL ще позволи това в колона NOT NULL. В този случай ще трябва да прибягвате до вашия код или тригер.
В кода (например PHP) това може да бъде достатъчно лесно, като се изпълнява нещо като:
if (!strlen($value)) {
// Exclude value or use NULL in query
}