【发布时间】:2011-04-15 23:12:36
【问题描述】:
例如:
ALTER TABLE webstore.Store MODIFY COLUMN (
ShortName VARCHAR(100),
UrlShort VARCHAR(100)
);
但上述方法不起作用。我正在使用 MySql 5.x
【问题讨论】:
标签: mysql alter-table
例如:
ALTER TABLE webstore.Store MODIFY COLUMN (
ShortName VARCHAR(100),
UrlShort VARCHAR(100)
);
但上述方法不起作用。我正在使用 MySql 5.x
【问题讨论】:
标签: mysql alter-table
使用以下语法:
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 语句。这是MODIFY 语句的标准格式,用于 MySQL 表中多个列上的 ALTER 命令。
看看以下内容:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html 和 Alter multiple columns in a single statement
【讨论】:
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 等索引属性。原始定义中存在但未为新定义指定的属性不会结转。
【讨论】: