Tom: mysql Datentyp

Beitrag lesen

Hello,

ENUM bezieht sich auf 65535 Elementen ich gehe mal davon aus das es der max Wert handelt?

Nein, die maximale Anzahl von Einträgen.

Nein, der höchste Index!
Die Werte liegen doch im Klartext vor.
Also der höchste Index und damit die größte Anzahle unterschiedlicher Werte für die Spalte.

Also das ist der max Wert pro Feld? Den SET hat nur 64

Mit 8Byte Flags lassen sich nur 8*8 Bits (=Flags) setzen. Da bei einem SET die Werte optional und nicht alternativ sind, dürfen sie eben alle gleichzeitig auftreten.

Wenn ich ein SET auf Anrede setze mit den Werten 'Herr','Frau' reicht das aus? Pro Feld wären das in dem Beispiel nur 2 Elemente.

Wie meisnt Du das jetzt?
Ich habe noch nicht gesehen, dass jemand Herr und Frau gleichzeitig als Anrede hat. Und ulkig fände ich es auch, wenn man an Herr Mercedes Benz AG schreibt oder an Frau TU Berlin.

Es fehlen also mindestens die Alternativen "" und "Firma". Ich würde dann noch "Familie" hinzunehmen.

Beim UPDATE oder INSERT darf ich in mein mysql Query nicht offen setzen sondern muß das Element über das Indiziz ansprechen?

Du kannst entweder 1 eingeben oder "offen" schreiben

ACHTUNG:

update ADRESSE set STATUS='2' where ID_ADRESSE=5;

würde den Status auf den Klartext 2 setzen, wenn vorhanden, und sonst auf den Index 2, wenn definiert. Deshalb nochmals meine Warnung: ENUM-Felder sind nicht für Numerische Werte geeignet!

Wenn man also die Auswahl von Nummernstrings abspeichern muss, dann ist Enum ungeeignet.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen