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

时间:2014-02-27 12:05:29

标签: mysql sql database import merge

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

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

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

由于

1 个答案:

答案 0 :(得分:5)

  1. 使用phpMyAdmin(如果您仍然不使用它,请安装)
  2. 转到当前数据库
  3. 单击导入并导入其他数据库
  4. 可能出现的问题:

    • 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;
    

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