Standaard accepteert MySQL ongeldige waarden. U kunt MySQL instellen op de strikte modus om geldige waarden te forceren. Hiermee wordt een query afgewezen die geen waarde geeft voor een NOT NULL-kolom en wordt integriteit op alle typen kolommen afgedwongen.
Bijwerken: MySQL 5.7 en hoger hebben nu standaard de strikte modus ingeschakeld. Het accepteert dus standaard geen ongeldige waarden zoals eerdere versies.
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
Bewerken:@Barranka en @RocketHazmat maakten goede punten in de opmerkingen. ''
is niet hetzelfde als null, dus MySQL staat dat toe in een NOT NULL-kolom. In dat geval zou u uw toevlucht moeten nemen tot uw code of een trigger.
In de code (bijvoorbeeld PHP) zou dit eenvoudig genoeg kunnen zijn door zoiets uit te voeren als:
if (!strlen($value)) {
// Exclude value or use NULL in query
}