簡體   English   中英

兩個數據庫的MySQL數據庫合並

[英]MySQL database merge of two databases

不久前,我建立了兩個Wordpress博客,兩個博客顯然都有不同的數據庫。 我最近通過更改表前綴將這些數據庫合並為一個數據庫,因此這兩個“實體”具有相同數量的表和相同的名稱(它們源自Wordpress安裝),但是具有不同的前綴,即:

Blog1_tabledata1
Blog1_tabledata2
Blog1_tabledata3
Blog1_tabledata4
Blog2_tabledata1
Blog2_tabledata2
Blog2_tabledata3
Blog2_tabledata4

現在,我意識到我需要合並這兩個數據庫(它們都使用相同的表),以便可以在同一Wordpress實例中使用它們(以后由標簽等分隔)。

最簡單的方法是什么?

(請注意,我是從MySQL的角度提出這個問題的-這不是Wordpress問題!)

如果您絕對不是在尋找wordpress解決方案,那意味着您就不在所有領域。 由此,我的意思是您不是在看數據的含義 這可能是個問題。 但盡管如此:

  1. 找出外鍵。 如果表是MyIsam而不是InnoDB,則它們將是隱式的。 找出哪些ID指向哪個字段。
  2. 從一個數據庫中選擇,然后插入另一個。 這意味着您將一個表的行添加到等效的目標數據庫中。 自動增加行就可以了。 但是對於外鍵(顯式和隱式)字段來說,這是麻煩的開始。
  3. 例如,如果您插入一個用戶,則該用戶將獲得一個新的ID->您必須在舊數據庫中找到與該用戶ID等效的名稱,以便您可以插入具有正確ID的外鍵。 這很棘手,沒有讓它成為一個WordPress問題,我們將為您提供更多幫助:只需弄清楚它們應該是什么行即可:)。 它是數據庫//特定於域的。 (這意味着您不能僅通過查看字段來弄清楚,您必須了解它們的含義)
  4. 如果數據庫是正確的,那應該可以,但是我不確定您是否遇到重復的麻煩(所有都應使用ID,並且您在第3步中使用唯一且已連接的ID修復了該問題。但是,如果您的域不這樣做)想要兩個帳戶,兩個頁面或兩個其他名稱(標簽?)具有相同的名稱,您仍然遇到問題,但是同樣,這是特定於域的邏輯,您明確要求不要去那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM