MySQL Datentyp ENUM oder SET? Unterschiede kurz und knackig.
von Thomas Eses
3. November 2025
Datentyp ENUM
- Eine Liste von max. 65535 Werten kann definiert werden.
- Speichert nichts oder nur einen der definierten Werte.
- Beim speichern werden ungültige Werte als leere Zeichenfolge gespeichert.
- Bei Verwendung von
NOT NULList der erste Wert in der Liste der Standard-Wert - Bei Verwendung von
NULListNULLder Standard-Wert. ENUM-Spalten immer alslatin1Zeichensatz definieren.
Anwendungesbeispiele
ENUM('Herr','Frau','Familie');
ENUM('male','female');
Datentyp SET
- Eine Liste von max. 64 Werten kann definiert werden.
- Es können mehrere Werte aus der definierten Liste gespeichert werden.
- Beim speichern werden ungültige Werte ignorieren und eine Warnung ausgegeben. Wichtig: Im Strict Modus erzeugt dies ein Error und gar nichts wird gespeichert.
Query Beispiele
SELECT * FROM tbl_name WHERE FIND_IN_SET('value', set_col) > 0;
SELECT * FROM tbl_name WHERE set_col LIKE '%value%';
Schreibe einen Kommentar