MySQL数据库迁移的一点经验

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/gobitan/article/details/52776715
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]无

展开阅读全文

没有更多推荐了,返回首页