Beispielsweise:
ALTER TABLE webstore.Store MODIFY COLUMN (
ShortName VARCHAR(100),
UrlShort VARCHAR(100)
);
Das oben genannte funktioniert jedoch nicht. Ich benutze MySql 5.x
ALTER TABLE
kann mehrere Tabellenänderungen in einer Anweisung vornehmen, aber MODIFY COLUMN
kann jeweils nur für eine Spalte verwendet werden, daher müssen Sie MODIFY COLUMN
für jede Spalte, die Sie ändern möchten:
ALTER TABLE webstore.Store
MODIFY COLUMN ShortName VARCHAR(100),
MODIFY COLUMN UrlShort VARCHAR(100);
Beachten Sie auch diese Warnung aus dem Handbuch:
Wenn Sie CHANGE oder MODIFY verwenden, wird
column_definition
muss den Datentyp und alle Attribute enthalten, die für die neue Spalte gelten sollen, mit Ausnahme von Indexattributen wie PRIMARY KEY oder UNIQUE. Attribute, die in der ursprünglichen Definition vorhanden, aber für die neue Definition nicht angegeben sind, werden nicht übernommen.
Verwenden Sie die folgende Syntax:
ALTER TABLE your_table
MODIFY COLUMN column1 datatype,
MODIFY COLUMN column2 datatype,
... ... ... ... ...
... ... ... ... ...
Basierend darauf sollte Ihr ALTER
-Befehl sein:
ALTER TABLE webstore.Store
MODIFY COLUMN ShortName VARCHAR(100),
MODIFY COLUMN UrlShort VARCHAR(100)
Beachten Sie, dass:
MODIFY
.MODIFY
-Anweisungen für zwei separate Spalten verwendet.Dies ist das Standardformat der Anweisung MODIFY
für einen Befehl ALTER
in mehreren Spalten einer MySQL-Tabelle.
Sehen Sie sich Folgendes an: http://dev.mysql.com/doc/refman/5.1/de/alter-table.html und Ändern Sie mehrere Spalten in einer einzelnen Anweisung