Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] MySQL, Spalten umbenennen, was passiert mit Indexen und Daten?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] MySQL, Spalten umbenennen, was passiert mit Indexen und Daten?

    Hallo,

    Ich bereite ja gerade die Konvertierung einer Anwendung auf Oracle vor. Wenn ich alle Array-Keys auf Großbuchstaben konvertiere, muss ich in den bestehenden MySQL Datenbanken das für die Spaltennamen ebenfalls tun. Ich habe vor das zu automatisieren, aber eine Frage zu den Indexen bleibt offen.

    ich habe eine Tabelle:
    Code:
    CREATE TABLE tbluser (
      UserID INT(10) UNSIGNED NOT NULL auto_increment,
      PRIMARY KEY  (UserID)
    )
    Was passiert mit den bestehenden Daten und dem Index, wenn ich folgend die Spalte umbenenne:
    Code:
    ALTER TABLE tbluser CHANGE COLUMN UserID USERID INT(10) UNSIGNED NOT NULL auto_increment;
    Ich finde nirgends eine Aussage zu den verwendeten Indexen. Ist das mit bestehenden Daten und Indexen reibungslos möglich oder sind Probleme zu erwarten? Auch andere Indexe, sind ja bereits angelegt worden. Zum Beispiel
    Code:
    KEY `idx_Username` USING BTREE (`Username`,`UserType`),
    Ist das Problemlos, wenn ich die Spaltennamen in USERNAME und USERTYPE umwandle? Passt MySQL die Indexe automatisch an?

    Grüße,

    Donald

  • #2
    Bleibt nur es auszuprobieren. Ich habe es selber auch noch nicht gemacht/benötigt.
    Letztlich ist es einfach den vorhandenen INDEX vor dem CHANGE zu entfernen (DROP INDEX ...) und ihn anschließend wieder anzulegen (CREATE INDEX ....). Eigentlich sollte nicht viel passieren, da die Änderung auf die META-Daten (information_schema) erfolgt.

    Ist für mich ein schönes Beispiel, warum man auf die Ticks (') beim CREATE der Tabellen bzw. des Index generell verzichten sollte.

    Grüße
    Thomas

    Kommentar


    • #3
      Hallo,

      ich habe das inzwischen getestet. Dankenswerterweise bemerkt MySQL die Namensänderung der betroffenen Spalten und mappt alle Indexe korrekt um.

      Grüße,

      Donald

      Kommentar

      Lädt...
      X