繁体   English   中英

如何合并两个相同结构的MySQL数据库

[英]How to merge two MySQL databases of same structure

这是我的情况。 我有最新的当前数据库(让我们称之为current_db),但由于最近崩溃,其数据不完整。 一些数据已被删除,这个删除从2年前到昨天。

我从2013年11月开始备份这个数据库(我们称之为backup_db),其数据已经完成,直到2013年11月。由于current_db保存了2013年11月到2014年2月之间的一些数据,我不想只是废弃它,并从备份工作。 所以我想将current_db导入backup_db,忽略重复的数据。

我已经找到了方法来做到这一点,但找不到任何相关的方法。 我遇到过一些SELECT查询,但它们都是简单的查询。 我的数据库有20个表,我真的没有看到自己构建了一个巨大的查询来导入所有这些。 还有其他方法吗?

谢谢

  1. 使用phpMyAdmin(如果你还没有使用它,请安装)
  2. 转到当前数据库
  3. 单击导入并导入其他数据库

可能的问题:

  • phpmyadmin中的最大文件上传大小可能是2MB。要解决此问题,请增加最大文件上传大小php.ini

    假设您有架构s1和架构s2。

要将s1中表的所有行插入s2中的表,同时覆盖现有行,可以使用:

REPLACE INTO s2.table_name
SELECT * FROM s1.table_name;

如果您不想触及现有线路:

INSERT INTO s2.table_name
SELECT * FROM s1.table_name
ON DUPLICATE KEY IGNORE;

如果您有任何问题,请在此处评论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM