我刚刚将我的网站黑了,他们能够对我当前的数据库造成一些损害。
无论如何,我几天前有一个备份。问题是当前数据库有几千个帖子和线程/用户。
我只是想知道如何合并这两个数据库?
这两个数据库具有确切的结构,我希望备份覆盖当前数据库中的任何记录,只是我希望当前数据库填充任何新记录,如帖子,线程,用户等。
我知道你可以合并两个表,如果它们具有确切的结构,但是两个具有相同结构的数据库呢?
答案 0 :(得分:3)
我假设您有架构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;
答案 1 :(得分:0)
有一些方法可以做到: 1.)使用命令行工具,如https://microsoft-apiapped89163604714d21b7e4a3424ed82d50.azurewebsites.net/和schema Sync
2.)或使用SQLyog
在这里了解更多 mysql diff
答案 2 :(得分:0)
以我的经验,“重复键忽略”无效。相反,我发现了
插入IGNORE ta2_table SELECT * FROM ta1_table;
像魅力一样工作