nope, irgendwie hatte ich das anders gemeint:
Ich habe eine DB mit hunderten von Tabellen. Jetzt will ich in allen Tabellen zb eine neue Spalte hinzufügen. Angenommen ich kenn die Tabellennamen nicht mal.
so würde ich in perl:
- SHOW TABLES
- für jede table:
- next wenn die tabelle nicht die zu löschende spalte hat
- spalte löschen
Die Frage ist nun, ob ich mir an der Stelle Perl Code sparen kann indem ich mysql schachtele: "ALTER TABLE SELECT ... DROP ..." irgendwie sowas hatte ich vermutet, da hört aber mein Wissen auf...
gruß
Hi,
argl, hast du dir überhaupt durchgelesen was ich gefragt habe?
Ja, aber du kannst nur eine tabelle anch der anderen machen.für mehrere spalten musst du das so machen:
ALTER TABLE
testRENAMEtabelle;ALTER TABLE
tabelle
ADDneuesfeld1INT NOT NULL ,
ADDneuesfeld2INT NOT NULL ,
ADDneuesfeld3INT NOT NULL ;ALTER TABLE
tabelle
CHANGEneuesfeld1umbenanntINT( 11 ) DEFAULT '0' NOT NULL ,
CHANGEneuesfeld2neuesfeld2TIMESTAMP DEFAULT '0' NOT NULL ,
CHANGEneuesfeld3neuesfeld3INT( 11 ) DEFAULT '0';ALTER TABLE
tabelle
DROPumbenannt,
DROPneuesfeld2,
DROPneuesfeld3;
>
> jetzt zufrieden?
>
> MfG