MySQL ENUM Wert hinzufügen

redneb

Mitglied
Hi,

ich muss mit einem bestehendem Datenbank Design arbeiten das ENUMS verwendet.

Jetzt habe ich das Problem, dass die vorgegebenen ENUM Werte nicht ausreichen und dynamisch erweiterbar sein müssen. Wie kann ich denn einzeln neue Werte hinzufügen?

Ich kenne nur folgende Möglichkeit:

PHP:
ALTER TABLE `TabTest` CHANGE `TestEnum `TestEnum` ENUM( 't1', 't2', 't3', 'neuer Wert' ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 't1'

Aber das kanns ja nicht sein, oder?
 
Dies ist meines Wissens auch die einzige Methode.

Du kannst anstelle von Enums auch eine Tabelle erstellen und diese dann mittels eines CONSTRAINTS verknüpfen. Diese tabelle kann auch aus genau einem Feld bestehen (den Enums)
 
Danke für die schnelle Antwort, hab inzwischen etwas weiter recherchiert, anscheinend gibt es wirklich keine Möglichkeit "einfach" ein neuen Wert hinzuzufügen.

Dein Vorschlag mit einer zusätzlichen Tabelle ist gut, nur werd ich das wahrscheinlich nicht überall machen können/wollen.

Werde mir dann eine Funktion basteln die mir den ALTER Query dann zusammen bastelt.
 
Zurück