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 NULL ist der erste Wert in der Liste der Standard-Wert
  • Bei Verwendung von NULL ist NULL der Standard-Wert.
  • ENUM-Spalten immer als latin1 Zeichensatz 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%';

Über den Autor

Profilbild: Thomas Eses
geschrieben am 3. November 2025 von
Thomas Eses

Anwendungsentwickler, IT-Dozent und Ausbilder für Fachinformatiker*innen

Mehr Erfahren...

Schreibe einen Kommentar

Erforderliche Felder sind mit * markiert
https://

Artikel Schlagwörter

Werbung

Ähnliche Beiträge

Aria Tabellen bei einer MariaDB Installation crashen regelmäßig

Aria-Tabellen, die unter MariaDB auf Windows 11 häufiger crashen, sind leider ein bekanntes Problem. Diesmal tritt es bei mir bei...

19. November 2025

Speicherung von Baumstrukturen in einer relationalen Datenbank

Baumstrukturen in Datenbanken. Das Leid von Eltern, Kindern, Geschwister, … Das Speichern von Baumstrukturen in einer relationalen Datenbank kann man...

3. November 2025