392 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
das aber auf beiden Seiten, also beim Client und beim Server, tun. Siehe Abschnitt 6.5.2
[Server parameters], Seite 355.
Beachten Sie, dass intern jeder BLOB- oder TEXT-Wert durch ein separat zugewiesenes Objekt
dargestellt wird. Das steht im Gegensatz zu allen anderen Spaltentypen, f¨ur die Speicher-
platz einmal pro Spalte zugewiesen wird, wenn die Tabelle ge¨offnet wird.
7.2.3.3 Der ENUM-Typ
Ein ENUM ist ein Zeichenketten-Objekt, dessen Wert normalerweise aus einer Liste zul¨assiger
Werte ausgesucht wird, die explizit bei der Spaltenspezifizierung bei der Tab ellenerzeugung
aufgez¨ahlt werden.
Der Wert kann unter bestimmten Umst¨anden auch die leere Zeichenkette ("") oder NULL
sein:
• Wenn Sie in eine ENUM einen ung¨ultigen Wert einf¨ugen (das ist eine Zeichenkette, die es
in der Auflistung zugelassener Werte nicht gibt), wird statt dessen die leere Zeichenkette
als spezieller Fehlerwert eingef¨ugt. Diese Zeichenkette kann von einer ’normalen’ leeren
Zeichenkette dadurch unterschieden werden, dass diese Zeichenkette den numerischen
Wert 0 hat. Mehr dazu sp¨ater.
• Wenn ein ENUM als NULL deklariert ist, ist NULL ebenfalls ein zul¨assiger Wert f¨ur die
Spalte und der Vorgabewert ist NULL. Wenn ein ENUM als NOT NULL deklariert ist, ist
der Vorgabewert das erste Element der Auflistung erlaubter Werte.
Jeder Aufz¨ahlungswert hat einen Index:
• Werte der Auflistung zul¨assiger Elemente in der Spaltenspezifikation fangen mit 1 an.
• Der Indexwert des Fehlerwerts leere Zeichenkette ist 0. Folglich k¨onnen Sie folgen-
des SELECT-Statement benutzen, um Zeilen zu finden, denen unzul¨assige ENUM-Werte
zugewiesen wurden:
mysql> SELECT * FROM tabelle WHERE enum_spalte=0;
• Der Index des NULL-Werts ist NULL.
Wenn beispielsweise eine Spalte als ENUM("eins", "zwei", "drei") festgelegt wurde, kann
sie einen der unten dargestellen Werte besitzen. Der Index jedes Werts wird auch dargestellt:
Wert Index
NULL NULL
"" 0
"eins" 1
"zwei" 2
"drei" 3
Eine Aufz¨ahlung kann maximal 65535 Elemente enthalten.
Groß-/Kleinschreibung ist irrelevant, wenn Sie einer ENUM-Spalte Werte zuweisen. Jedoch
haben Werte, die sp¨ater aus der Spalte a/jointfilesconvert/293675/bgerufen werden, dieselbe Groß-/Kleinschreibung
wie die Werte, die f¨ur die Festlegung zul¨assiger Werte bei der Tabellenerzeugung verwendet
wurden.
Wenn Sie eine ENUM in einem numerischen Zusammenhang benutzen, wird der Index des
Spaltenwerts zur¨uckgegeben. Sie k¨onnen beispielsweise numerische Werte aus einer ENUM-
Spalte wie folgt abrufen:
Comentarios a estos manuales