【工作笔记】mysql 大表增加记录思路方法

背景:线上环境的数据库某表已经存在百万数据,在做数据初始化的时候,业务需求增加了一个字段,结果表崩溃了,最后只能找DBA协助才恢复表,蛋疼了一下午,毕竟生产环境,好在是内部系统。

方案描述:基于这种已经存在大数据的情况,查阅了大部分资料有以下解决方案

一、拷贝表结构,然后新表增加需要增加的字段,再将旧表数据insert到新表,善后删除旧表。(ps:注意如果表是有关联的要注意处理表的关联),下面是转的思路脚本


create table xx_order_bak like xx_order;

alter table xx_order_bak add column `unit` int(10) DEFAULT 1;

INSERT INTO xx_order_bak(`id`, `create_date`, `modify_date`, `address`, `amount_paid`)
select * from xx_order;

rename table xx_order to xx_order_bak1;

rename table xx_order_bak to xx_order;


你可能感兴趣的:(工作笔记)