我知道,我们不能重命名使用列modify column syntax
,但可以change column syntax
。
我的问题是:的主要用途是什么modify syntax
?
例如,
alter table tablename change col1 col1 int(10) not null
代替
alter table tablename modify col1 int(10) not null
编辑
更换问题
的主要用途是什么modify syntax
?
上述问题被替换以下
为什么我们要使用更改列,而不是修改列?
更改列如果您已经创建了MySQL数据库,并在以后决定你的一列被命名不正确,你并不需要将其删除,并进行替换,您可以使用更改列只需重命名它。
ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL FIRST;
修改列的这个命令做的一切更改列可以,但不重新命名column.You如果您需要在MySQL中调整列可以使用修改SQL命令。 通过这样做,你可以允许比以往更多或更少的字符。 使用修改等不能重命名列
ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz;
注:ALTER TABLE用于更改表指更改列名,大小,删除列。 更改列和MODIFY COLUMN命令不能没有ALTER TABLE命令的帮助下使用。
我在努力使非AUTO_INCREMENT列到AUTO_INCREMENT语句中找到了一个多小时的努力后,一个区别:ALTER TABLE doctor_experience
修改列id
INT(11)无符号AUTO_INCREMENT作品,但statment:ALTER TABLE doctor_experience
更改列id
id
INT(11 )无符号AUTO_INCREMENT会报告错误。
这是一样的。 有人做过,以支持另一种语法(甲骨文ALTER TABLE我所知)。 您可以使用这两者。
注: ALTER TABLE CHANGE old_col_name new_col_name
语法允许使用一个命令重命名列。