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