ALTER TABLE 允话使用 ALTER COLUMN 、 CHANGE COLUMN 和 MODIFY COLUMN 修改列,但是使用场景各自不同

一、alter column

设置或删除列的默认值。该操作会直接修改.frm文件而不涉及表数据.

alter table user alter column `name` set default 'jack';
alter table user alter column `email` set default 'test@email.com';
alter table user alter column `age` set default 10;

二、change column

列的重命名、列类型的变更以及列位置的移动(应该也会引起表的重建,非常慢)

alter table user change column `age` `AGE` BIGINT after `email` ;
alter table user change column `age` `age`  INT(11) first ;
alter table user change column `id` `id`  BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID';

三、modify column

除了列的重命名之外,他干的活和CHANGE COLUMN是一样的。

alter  table user modify COLUMN `id`   BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID';
Logo

更多推荐