Ich will in MySQL einen Binary-Datentyp verwenden, die Feldinhalte sollen also die Werte "0" und "1" annehmen können. Ich habe dabei verschiedene Empfehlungen gelesen. Danach könnte ich entweder
id ENUM('0','1') NOT NULL
oder
id CHAR(1) [BINARY] NOT NULL
verwenden.
Im MySQL-Referenz-Handbuch schlagen sie CHAR vor, das würde wohl Falscheingaben nicht verhindern und würde ein Byte beanspruchen. Falscheingaben könnte man aber suchen.
Unter folgendem Link
( ganz unten auf der Seite) schlagen Sie ENUM vor. Würde wohl auch ein Byte beanspruchen. Könnte theoretisch Falscheingaben verhindern, wenn der Fehlerwert (bei Falschenigabe) nicht eine leere Zeichenkette mit dem numerischen Wert 0 wäre...man kann - soweit ich das verstehe - die Falscheingabe auch nicht aufspüren. Nach was sollte man schliesslich suchen - nach "0" suchen bringt kene sinnvollen Ergebnisse.
Einen richtigen Bit-Operator stellt MySQL anscheinend nicht zur Verfügung. Welcher der oben genannten Datentypen ist in meinem Fall vorzuziehen? Oder sollte allgemein man j/n o.ä. verwenden?
id ENUM('0','1') NOT NULL
oder
id CHAR(1) [BINARY] NOT NULL
verwenden.
Im MySQL-Referenz-Handbuch schlagen sie CHAR vor, das würde wohl Falscheingaben nicht verhindern und würde ein Byte beanspruchen. Falscheingaben könnte man aber suchen.
Unter folgendem Link
( ganz unten auf der Seite) schlagen Sie ENUM vor. Würde wohl auch ein Byte beanspruchen. Könnte theoretisch Falscheingaben verhindern, wenn der Fehlerwert (bei Falschenigabe) nicht eine leere Zeichenkette mit dem numerischen Wert 0 wäre...man kann - soweit ich das verstehe - die Falscheingabe auch nicht aufspüren. Nach was sollte man schliesslich suchen - nach "0" suchen bringt kene sinnvollen Ergebnisse.
Einen richtigen Bit-Operator stellt MySQL anscheinend nicht zur Verfügung. Welcher der oben genannten Datentypen ist in meinem Fall vorzuziehen? Oder sollte allgemein man j/n o.ä. verwenden?
Kommentar