我需要合并两个MySql数据库。
谢谢大家的帮助。
编辑: 我忘记了。我向table_x添加了列,这些列是table_y的外键。所以DBone有一些插入的条目没有我添加到DBtwo中的table_x的列。 :/
答案 0 :(得分:0)
您可以使用触发器。有关您的实现,触发器,函数和过程,请参阅MySQL文档。
答案 1 :(得分:0)
合并前是否有原始数据库的副本?如果没有,你问的是不可能的。这是问题所在:
原始数据库包含以下记录:
{a, b, c}
在table_x中,你添加一个d,所以现在你有:
{a, b, c, d}
在表y中,您删除了一个b,因此您拥有:
{a, c}
您现在尝试合并这两个数据集:
{a, b, c, d}
{a, c}
如果不参考原文,你怎么知道b和d是否应该在新的集合中。如果它们不是原始的并且你从叉子开始添加它们,它们应该被包括在内。如果它们是原始文件,并且自合并以来在table_y中删除了它们,则不应包括它们。
假设您有访问权限,则需要执行以下操作:
insert into table_y
select *
from table_x x
where x.id not in (select id from table_x_original)
然后将table_y重命名为table_x(如果您希望table_x成为新数据源)。如果您的ID已生成且可能存在冲突,则您需要将*替换为除id列以外的所有列的列表,以生成新的序列ID。