Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie benötige ich ein MySQL-Feld?

Standardmäßig akzeptiert MySQL ungültige Werte. Sie können MySQL in den strikten Modus versetzen, um gültige Werte zu erzwingen. Dadurch wird eine Abfrage abgelehnt, die keinen Wert für eine NOT NULL-Spalte liefert, und die Integrität aller Spaltentypen erzwungen.

Aktualisierung: MySQL 5.7 und höher haben jetzt standardmäßig den strikten Modus aktiviert. Daher akzeptiert es standardmäßig keine ungültigen Werte wie frühere Versionen.

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

Bearbeiten:@Barranka und @RocketHazmat haben in den Kommentaren gute Punkte gemacht. '' ist nicht dasselbe wie null, also lässt MySQL dies in einer NOT NULL-Spalte zu. In diesem Fall müssten Sie auf Ihren Code oder einen Trigger zurückgreifen.

Im Code (z. B. PHP) könnte dies einfach genug sein und so etwas wie:

ausführen
if (!strlen($value)) { 
    // Exclude value or use NULL in query
}