mysql之ALTER COLUMN、CHANGE COLUMN、MODIFY COLUMN的区别

时间:2021-11-07 23:25:04

ALTER COLUMN:设置或删除列的默认值(操作速度非常快) 例子:

alter table film alter column rental_duration set default 5;
alter table film alter column rental_duration drop default;

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;

MODIFY COLUMN:除了不能给列重命名之外,他干的活和CHANGE COLUMN是一样的 例子:

ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz;