2012-11-15 8 views
12

Es gibt eine ausgezeichnete SO auf MySQL leere Strings im Gegensatz zu NULL, MySQL, better to insert NULL or empty string?, aber es berücksichtigt nicht "Einheitlichkeit" - dh wenn Sie nur eine Wahl in Ihren Tabellen haben wollen (dh leere Zeichenfolge ODER NULL), Was sollte es sein?Kann MySQL leere Strings automatisch in NULL konvertieren?

Meine Frage ist, kann ich MySQL automatisch leere Zeichenfolgen als NULL speichern lassen?

Nach dem Lesen der vorherigen SO bin ich im Allgemeinen geneigt, NULL zu speichern, aber das Problem ist, dass ich viele PHP-Formulare mit optionalen Feldern habe, und (wenn leer gelassen) diese leere Strings zurückgeben.

Antwort

26

Sie können die Saiten mit NULLIF()

verwenden Sie es wie folgt einschließen:

NULLIF('test','') --> returns 'test' 
NULLIF('' ,'') --> returns NULL 
+0

[NULLIF] (http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_nullif) – Andrei

1

Alternativ NULLIF Sie die Standard-Set könnte entlang auf NULL und übergeben Sie einfach nicht leere Felder.

Verwandte Themen