例如:
ALTER TABLE webstore.Store MODIFY COLUMN (
ShortName VARCHAR(100),
UrlShort VARCHAR(100)
);
但上述方法无效。我正在使用MySql 5.x
答案 0 :(得分:96)
ALTER TABLE
可以在一个语句中执行多个表格更改,但MODIFY COLUMN
一次只能在一列上运行,因此您需要为要更改的每列指定MODIFY COLUMN
:
ALTER TABLE webstore.Store
MODIFY COLUMN ShortName VARCHAR(100),
MODIFY COLUMN UrlShort VARCHAR(100);
另外,请注意手册中的此警告:
使用CHANGE或MODIFY时,
column_definition
必须包含数据类型和应该应用于新列的所有属性,而不是索引属性(如PRIMARY KEY或UNIQUE)。原始定义中存在但未为新定义指定的属性不会继续使用。
答案 1 :(得分:3)
使用以下语法:
ALTER TABLE your_table
MODIFY COLUMN column1 datatype,
MODIFY COLUMN column2 datatype,
... ... ... ... ...
... ... ... ... ...
基于此,您的ALTER
命令应为:
ALTER TABLE webstore.Store
MODIFY COLUMN ShortName VARCHAR(100),
MODIFY COLUMN UrlShort VARCHAR(100)
请注意:
MODIFY
语句周围没有第二个括号。MODIFY
语句。这是MySQL表中多列上MODIFY
命令的ALTER
语句的标准格式。
请查看以下内容:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html和Alter multiple columns in a single statement