2011-04-22 17 views
2

我有一个MySQL数据库,我想通过添加注释的所有列的注释,当我只想修改一个SQL语句时,是否必须包含所有列属性?

从我的MySQL documentation读,有必要改变任何一个时,包括数据类型和所有属性其中之一。

例如,我必须通过只提交一个命令,如键入

ALTER TABLE `dbname`.`tablename` 
    CHANGE COLUMN `columnname` `columnname` 
    INT(11) NULL DEFAULT NULL COMMENT 'this is my comment`; 

这将是更快的我,以避免重新公布每一个变化列信息,例如:

ALTER TABLE `dbname`.`tablename` 
CHANGE COLUMN `columnname` 
COMMENT 'this is my comment`; 

是否有添加注释的任何选项,不需要我重新声明表结构?

回答

2

的文档是很清楚,更改列需要完整的列定义:

CHANGE [COLUMN] old_col_name new_col_name column_definition

任何可选会在括号中。

最好的办法是编写一个一次性的脚本,根据表的当前模式生成ALTER TABLE命令。您应该能够从您使用的任何数据访问层提取列定义。

相关问题