如何合并两个相同结构的MySQL数据库
Posted
技术标签:
【中文标题】如何合并两个相同结构的MySQL数据库【英文标题】:How to merge two MySQL databases of same structure 【发布时间】:2014-03-30 20:27:39 【问题描述】:这是我的情况。我的当前数据库(我们称之为 current_db)是最新的,但由于最近的崩溃,它的数据不完整。部分数据已被删除,此次删除时间为2年前至昨天。
我有一个从 2013 年 11 月到 2013 年 11 月的数据库(我们称之为 backup_db)的备份。由于 current_db 包含 2013 年 11 月到 2014 年 2 月之间的一些数据,我不想要只是废弃它,并从备份中工作。所以我想将 current_db 导入到 backup_db 中,忽略重复的数据。
我已经搜索了执行此操作的方法,但找不到任何相关的方法。我遇到过一些 SELECT 查询,但它们都很简单。我的数据库有 20 个表,我并没有真正看到自己构建一个巨大的查询来导入所有这些。有没有其他办法?
谢谢
【问题讨论】:
【参考方案1】:-
使用phpMyAdmin(不使用就安装)
转到当前数据库
点击导入,导入其他数据库
可能的问题:
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;
如果您有任何问题,请在此处发表评论。
【讨论】:
以上是关于如何合并两个相同结构的MySQL数据库的主要内容,如果未能解决你的问题,请参考以下文章