Domyślnie MySQL akceptuje nieprawidłowe wartości. Możesz ustawić MySQL w trybie ścisłym, aby wymusić prawidłowe wartości. Spowoduje to odrzucenie zapytania, które nie dostarcza wartości dla kolumny NOT NULL, a także wymusi integralność wszystkich typów kolumn.
Aktualizacja: MySQL 5.7 i nowsze mają teraz domyślnie włączony tryb ścisły. Dlatego domyślnie nie zaakceptuje nieprawidłowych wartości, jak w poprzednich wersjach.
http://dev.mysql .com/doc/refman/5.0/en/sql-mode.html#sql-mode-ważne
http://dev.mysql.com/doc /refman/5.0/en/sql-mode.html#sqlmode_strict_all_tables
Edytuj:@Barranka i @RocketHazmat poczynili dobre uwagi w komentarzach. ''
to nie to samo co null, więc MySQL pozwoli na to w kolumnie NOT NULL. W takim przypadku musiałbyś odwołać się do swojego kodu lub wyzwalacza.
W kodzie (na przykład PHP) może to być dość łatwe, uruchamiając coś takiego:
if (!strlen($value)) {
// Exclude value or use NULL in query
}