2016-06-21 20 views
1

我有我的phpmyadmin兩個數據庫 test and test1現在我想將它合併到其他數據庫如何合併即test3咱倆數據庫到新的數據庫使用PHP

數據庫test有15桌。數據庫test 2有23個表,以便數據庫test 3包含15 + 23即38臺

我還檢查Merge two database into a single databaseHow can we merge two databases with identical schemas?鏈接,但沒有找到任何解決辦法

如何將其與PHP的幫助來完成?

+0

是ta兩個現有數據庫的名稱不同? –

+0

是的一切都不一樣!表名前綴 –

回答

2

使用PHP文件首先你需要使用exec()mysqldump採取多種數據庫的轉儲作爲

exec("mysqldump --user root -p --databases test1 test2 > file.sql"); 

這將在多個數據庫導出成一個文件,現在你可以導入數據庫到test3中使用

exec("mysql -u username -p test3 < file.sql"); 
+0

感謝您的支持! –

1

既然你提到了phpmyadmin,你可以在phpmyadmin中完成這一切。

首先將兩個數據庫(test1和test2)導出爲SQL。您可以按照此post中的說明操作。然後您可以使用phpmyadmin將這兩個數據庫導入到test3中。

您可能想要確保與表名不衝突以避免test1覆蓋test2表(反之亦然)。如果你想讓這些表單獨分開,那麼你可以爲所有表格添加一個前綴,但這實際上取決於你想要做的事情。既然你期待38張表,我假設你不想混合數據。

+0

這是一個使用GUI的解決方案。我需要使用PHP腳本! –

+0

您可以使用exec命令在php腳本中使用命令,您可以使用以下命令將一個數據庫複製到另一個數據庫中。 mysqldump -u user1 -ppassword1 databasename> dump.sql mysql -u user2 -ppassword2 databasename

+0

感謝您的支持 –

1

假設所有的表名都不相同,我們只是在討論表(我不確定觸發器和其他操作),您可以使用PHPmyAdmin中的「複製數據庫: 」功能來執行此操作。

  1. 沿頂
  2. 去選擇數據庫test1
  3. 轉到操作導航項目的Copy database to:部分,然後輸入test3如要遷移到數據庫。 Copy Database To
  4. 重複的test2
+0

這是一個使用GUI的解決方案。我需要使用PHP腳本! –

+0

爲什麼?當涉及到很多表時,編寫PHP腳本是沒有意義的。什麼叫表?他們是'table1','table2'嗎? – Dan

+0

感謝您的支持 –