phpbar.de logo

Mailinglisten-Archive

RE: Reihenfolge von Tabellenspalten nachträgich ändern

RE: Reihenfolge von Tabellenspalten nachträgich ändern

Sandor Wonschik Sandor.Wonschik at arvato-mobile.de
Die Jul 12 13:07:33 CEST 2005


Hi

Tim Hildebrandt schrieb:
>bedeutet halt mehr Arbeit, da ich die Tabelle per Script in eine neue überführen lassen kann
Ich hoffe mal, Du hast nicht daran gedacht, die Daten zeilenweise auszulesen und in die neue Tabelle zu inserten. ;-)

wie Sebastian schon meinte, ist ALTER TABLE eine bessere Lösung:
>From MySQL 4.0.1 on, you can also use FIRST and AFTER in CHANGE or MODIFY operations.
ALTER TABLE `table` MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]

Die column_definition musst Du >>exakt<< von der Originaltabelle nehmen, weil Du sonst Deinen Felddatentyp änderst. 
Beispiel:

ALTER TABLE DeineTabelle MODIFY 
ID int(11) NOT NULL auto_increment
FIRST



Für ältere Db-Versionen als 4.0.1 kann man das Problem so erledigen:
(funktioniert bei neuen Versionen natürlich auch ;-)

- eine leere Tabelle mit der gewünschten Tabellenstruktur anlegen
  (Id-Feld nach vorne)

- INSERT INTO DeineTabelleNeu (Feld1,Feld2,Feld3,Feld4) SELECT Feld1,Feld2,Feld3,Feld4 FROM DeineTabelle;

- ALTER TABLE DeineTabelle RENAME DeineTabelleAlt;
  ALTER TABLE DeineTabelleNeu RENAME DeineTabelle;


Viele Grüße
:-) Sandor


-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive