我知道,我们不能使用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;

修改栏
该命令可以执行CHANGE COLUMN的所有功能,但无需重命名该列。如果需要在MySQL中调整列的大小,则可以使用Modify SQL命令。这样,您可以允许比以前更多或更少的字符。您不能使用Modify和其他名称来重命名列
ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz;

注意:ALTER TABLE用于更改表,即更改列名称,大小,删除列。如果没有ALTER TABLE命令的帮助,则不能使用CHANGE COLUMN和MODIFY COLUMN命令。

关于mysql - 修改列与更改列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14767174/

10-13 00:47