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

7
这是我的情况。我有一个当前的数据库(我们称其为current_db),它是最新的,但由于最近的崩溃,其中的数据不完整。一些数据已被删除,这些删除从两年前到昨天都存在。
我有一个备份数据库(我们称其为backup_db),来自2013年11月,其数据截至2013年11月完整。由于current_db包含2013年11月至2014年2月之间的一些数据,因此我不想仅仅放弃它,并从备份中工作。所以我想将current_db导入backup_db并忽略重复的数据。
我已经搜索了一些方法来实现这一点,但没有找到任何相关的方法。我遇到了一些SELECT查询,但它们都是简单的查询。我的数据库有20个表,我真的看不出自己要构建一个庞大的查询来导入所有这些数据。还有其他方法吗?
谢谢。
1个回答

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接