MySQL修改字段默认值的三种方法
6,179 total views, 2 views today
MySQL修改字段默认值的三种方法
1、使用 pt-online-schema-change 工具,通过创建新表,修改字段默认值,copy原表数据到新表,最后将新表rename原表。 成本高,基本对业务无影响。
2、alter table table_name modify column_name default ‘xxx’;
成本很高,等于将原表复制一遍。业务影响大。
3、alter table table_name alter column_name set default ‘xxx’;
不操作表中数据,直接修改.frm文件中的列定义,操作速度非常快,业务基本无影响。
生产中推荐使用方法1和方法3,方法2请慎用。
后两种方法效率比较:方法2耗时12秒多,而方法3只用了0.03秒。
1 2 3 4 5 6 7 8 9 10 |
## MySQL 5.7.22 alter table sbtest1 modify column c char(120) default '1'; Query OK, 0 rows affected (12.13 sec) Records: 0 Duplicates: 0 Warnings: 0 alter table sbtest2 alter column c set default '1'; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 |