MySQL数据库迁移的一点经验

MySQL数据库迁移的一点经验
作者:雨水,日期:2016-10-10 博客: http://blog.csdn.net/gobitan
摘要:MySQL数据库迁移的一点经验记录下来,供大家参考!

[1] 对于外键约束的处理
当你在清除数据的适合,可能会因为外键约束而导致清除数据失败。可以使用如下语句将你需要执行的SQL包起来执行,这样可以解决外键约束问题。示例如下:
set foreign_key_checks = 0 ;
truncate user;
set foreign_key_checks = 1;

[2] 相同(似)表结构的映射:
对于相同表结构的映射,可以直接通过select * 来映射。示例如下:
INSERT INTO f1.user select * from f2.user;
注:f1和f2这里分别为目标数据库和源数据库。

对于源数据库字段比目标数据库字段少的情况,可以直接在源数据库中补齐即可。示例如下:
insert into f1.user select *,NULL from f2.user;
注:具体补齐的值的选择需要根据字段的类型来决定。比如允许空的可以直接用NULL,不允许为NULL的,字符可用'', 数字可以0等。

[3] 不同表结构的映射:
insert into ucm.user (name, mobile, qq) select field1, field2,  field3 from f4.user;

[4] 多表联合操作映射
insert into f1.user
select a.field1, a.field2,c.field1,... from f2.user a
LEFT JOIN
(
  select b.field1,
  ...
  from f2.table1
) c
ON 条件
...
where 条件

参考资料:
[1]无

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gobitan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值