2016-06-21 22 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

感谢您的支持 –