MySQL Enum ist immer enthalten " (leere Zeichenkette), in Möglichkeiten
Ich versuche zu schaffen, ein einfaches " ja " /"vielleicht" /"Nein" Enum in MySQL mit PhpMyAdmin
Ich set NULL No, und 'vielleicht' als default-Wert
Ich gehe davon aus, dass ein Fehler bei der Ausführung etwas wie "SET EnumCol="", da " (eine leere Zeichenkette), sollte nicht den gültigen Wert.
Aber die Abfrage wird ausgeführt, und der Wert wird eingestellt " - was bedeutet, ich bin gezwungen, diese zu überprüfen für diese unerwünschte und illegale Wert immer dann, wenn ich aus der Datenbank gelesen werden!
Ist das ein bug in MySQL oder PhpMyAdmin?
Kennt jemand eine Möglichkeit der Deaktivierung dieses Verhalten?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leere Zeichenfolge ist die Fehler-Anzeige von ungültigen Werten in
ENUM
. Aus der mysql -ENUM
- Typ manueller:Um dieses Verhalten deaktivieren:
Aktivieren der strict-Modus finden Sie unter Server SQL Modes.
ENUM ' s sind ein Schmerz in den Hintern. es sei denn, Sie müssen auch den Wert durch eine Zahl, ich würde bleiben Weg von Ihnen.
verwenden Sie stattdessen eine varchar-Spalte mit einem Fremdschlüssel auf eine lookup-Tabelle zum einschränken der Werte. damit wird es unmöglich, fügen Sie ein schlechter Wert.
ENUM
Typ Manipulationen werden schneller dann die foreign key-check.