2010-09-22 63 views

回答

82

ALTER TABLE可以在一条语句做多的表的改变,但MODIFY COLUMN只能在一个时间上的一列工作,所以你需要为每个列指定MODIFY COLUMN要更改:

ALTER TABLE webstore.Store 
    MODIFY COLUMN ShortName VARCHAR(100), 
    MODIFY COLUMN UrlShort VARCHAR(100); 

另外,还要注意从手动此警告:

当您使用更改或修改,column_definition必须包括数据类型以及应适用于新列的所有属性,比指数等作为主要属性,例如KEY或UNI QUE。原始定义中存在但未为新定义指定的属性不会继续执行。

+1

谢谢 - 很不错的! – JoJo 2010-09-22 20:54:47

2

使用的语法如下:

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) 

需要注意的是:

  1. 周围有没有第二个括号声明MODIFY
  2. 我用两个单独的MODIFY语句表示两个单独的列。

这是针对MySQL表中多列的ALTER命令的MODIFY语句的标准格式。

看看以下内容:http://dev.mysql.com/doc/refman/5.1/en/alter-table.htmlAlter multiple columns in a single statement