您的位置:首页 > 数据库 > MySQL

上线迁库掉坑记

2018-09-06 11:35 495 查看
背景:公司的业务服务系统和业务管理后台(大杂烩)是两个不同的项目,最近在做一件事是把与业务服务没有直接关系的表全部分离出来,独立成一个后台管理库。

工作主要分为两件事情:

1.建新库,导表结构,导数据。
2.项目代码修改连接库的适配。

整个任务在昨晚八点上线,过程不是顺利。为了省事,导入数据的时候直接执行了类似下面的sql语句。导完成后以为就完事大吉,但线上项目还是报错。

insert into `yundou_management`.`admin_permission`  select * from `yundou_v3`.`admin_permission`;

问题出在内网开发环境的表结构与生产环境不是完全一致,有些表虽然字都一样,但顺序不一样。所以 insert into....select * from 就出问题了,导致表里面存放的数据错位。

结论:

1、多检查开发环境和生产环境的表是否完全一致。
2、insert into....select * from 谨慎使用。批量导入数据的时候,尽量指定字段。不要为了省事,上线了再去解决问题。

Insert into Table2(field1,field2,...) select value1,value2,... from Table1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息