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

lap*_*573 6 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个表,我真的没有看到自己构建了一个巨大的查询来导入所有这些.还有其他方法吗?

谢谢

jma*_*ail 5

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

可能的问题:

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

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

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

REPLACE INTO s2.table_name
SELECT * FROM s1.table_name;
Run Code Online (Sandbox Code Playgroud)

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

INSERT INTO s2.table_name
SELECT * FROM s1.table_name
ON DUPLICATE KEY IGNORE;
Run Code Online (Sandbox Code Playgroud)

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