[英]How to merge two databases in MySql
我需要合並兩個MySql數據庫。
謝謝大家的幫助。
編輯:我忘記了。 我在table_x中添加了列,這些列是table_y的外鍵。 因此,DBone插入了一些條目,但沒有添加到DBtwo中的table_x的列。 :/
您可以使用觸發器。 請參閱MySQL文檔以獲取有關觸發器,函數和過程的實現。
合並之前是否有原始數據庫的副本? 如果沒有,您的要求是不可能的。 這是問題所在:
原始數據庫具有以下記錄:
{a, b, c}
在table_x中,您添加了廣告,所以現在您有了:
{a, b, c, d}
在表y中,刪除ab,因此具有:
{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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.