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]无