MySQL数据库迁移的一点经验

发表于:2016-10-11 09:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:雨水    来源:51Testing软件测试网采编

  摘要: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 条件
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号