mysql之ALTER COLUMN、CHANGE COLUMN、MODIFY COLUMN的区别
ALTER COLUMN:设置或删除列的默认值,不会引起表的重构。
例子:
alter table film alter column rental_duration set default 5;
alter table film alter column rental_duration drop default;
MODIFY COLUMN:用来修改列的类型和默认值等,会引起表的重构。
例子:
ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz;
CHANGE COLUMN:列的重命名、列类型的变更以及列位置的移动
例子:
ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL FIRST;
ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL AFTER baz;
参考:
mysql之ALTER COLUMN、CHANGE COLUMN、MODIFY COLUMN的区别 - 胡立峰 - 博客园