MySQL: nachträgliche Elemente für Spaltentyp SET

  • Themenstarter Themenstarter kun-2oTh
  • Beginndatum Beginndatum
K

kun-2oTh

Hallo,

ich habe in einer Tabelle eine Spalte vom Typ SET.
Wir nehmen an, das darin die SET-Elemente "eins", "zwei" und "drei" vereinbart sind.
Nach einer gewissen Nutzungszeit, und bei schon vielen vorhandenen Daten, möchte ich nun das Element "vier" hinzufügen, so dass es in Zukunft zur Auswahl steht, aber ohne alte Datensätze zu verändern oder zu zerstören.

Gibt es da ein Möglichkeit und wenn ja, welche?
Ich hoffe, Ihr könnt mir helfen.
 
Hi, ich hab zwar null Erfahrung mit MySQL, aber hast du es schon mal mit ALTER TABLE probiert?
Das ist ja dafür da, um Tabellen bzw Spalten zu ändern. Ob es damit auch möglich ist, die SET-Liste zu ändern, müsstest du halt noch in der Hilfe von MySQL nachschauen.
 
sorry, dass ich schiebe, aber ich bin gerade wieder bei dem Problem angelangt. Hat irgendwer eine Ahnung?

Also ich suche nach einer Möglichkeite neue Werte hinzuzufügen, auch wenn ich nicht wieß, welche bereits drinnen sind. Will damit Modul-basierte Scripte schreiben.
 
Zuletzt bearbeitet von einem Moderator:
http://dev.mysql.com/doc/mysql/de/alter-table.html

ALTER TABLE CHANGE spaltenname Create Definition
Create Definition ist dann genau das, was Du angeben würdest, wenn Du die Spalte im CREATE in einer neuen Tabelle anlegen würdest.
Ich weiß allerdings nicht, was mit den alten Einträgen passiert, also vorher ein Backup machen!

Gruß hpvw

PS: Das ist genau der Grund, warum ich nicht mit ENUM und SET arbeite, sondern für die entsprechenden Werte eine eigene Tabelle anlege und ein Foreign Key (bei ENUM) bzw. eine Verknüpfungstabelle (bei SET) einfüge.
Das ermöglicht Erweiterungen der Datenbank, ohne in der Struktur zu arbeiten.
 
Zurück