Michael Schröpl: -> (MySQL) 2 Spalten verschieben & gleichzeitig umbenennen

Beitrag lesen

Hi Aqua,

Wie kann ich Bitte die beiden Spalten "abc, xyz" aus "table1"
in die Tabelle "table2" kopieren,
wo die Werte der beiden Spalten dann aber in die Spalten
"fgi, jkl" kopiert werden sollen und aus "table1" automatisch gelöscht werden.

Mehr Randbedingungen, bitte.

Beispielsweise:
a) Existiert die Tabelle "table2" bereits?
Wenn nein, dann ist Deine Aufgabe trivial:
  CREATE TABLE table2 AS SELECT abc, xyz FROM table1;

b) Wenn ja, dann enthält sie offenbar bereits andere Felder.
In diesem Falle ist Deine Aufgabenstellung jedoch stark unterspezifiziert, weil Du die Zeilen aus beiden Tabellen irgendwie korrellieren willst.
Und dafür reicht Christians Ansatz bei weitem nicht aus (Deine Angaben aber auch nicht, um eine bessere Lösung zu skizzieren). Im Wesentlichen würdest Du dann zuerst das Tabellenformat ändern (ALTER TABLE) und anschließend die neuen Spalten mit Werten aus table1 füllen (UPDATE).

Es "riecht" nach der Notwendigkeit, Sub-Selects zu verwenden, was mySQL nicht unterstützt ... auch wenn mir noch wesentliche Teile Deiner Aufgabenstellung fehlen: Stell Dich schon mal darauf ein, daß es wahrscheinlich nicht sehr viel eleganter gehen wird als mit einer Perl-Lösung.

Aber liefere sicherheitshalber die fehlenden Informationen nach - es könnte ja sein ...

Viele Grüße
      Michael