小编典典

修改列与更改列

mysql

我知道,我们不能使用来重命名列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什么?

上面的问题被下面的问题取代

为什么我们必须使用更改列而不是修改列?


阅读 268

收藏
2020-05-17

共1个答案

小编典典

CHANGE COLUMN如果您已经创建了MySQL数据库,并确定其中一个列的名称不正确,则无需删除它并进行替换,您只需使用 change
column
重命名即可。

ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL FIRST;

MODIFY COLUMN该命令执行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命令。

2020-05-17