【问题标题】:How we merge two database into new database using php我们如何使用 php 将两个数据库合并到新数据库中
【发布时间】:2016-06-21 07:38:58
【问题描述】:

我的 phpmyadmin 中有两个数据库 test and test1 现在我想将它合并到其他数据库中,即test3

数据库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的帮助下完成??

【问题讨论】:

  • 两个现有数据库的表名是否不同?
  • 是的,一切都不一样!!带前缀的表名

标签: php mysql


【解决方案1】:

首先使用php文件你需要使用exec()mysqldump作为多个数据库的转储

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

这会将多个数据库导出到一个文件中,现在您可以使用将数据库导入 test3

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

【讨论】:

  • 非常感谢这个工作!
【解决方案2】:

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

首先将两个数据库(test1 和 test2)导出为 SQL。您可以按照此post 中的说明进行操作。然后,您也可以使用 phpmyadmin 将这两个数据库导入 test3。

您可能希望确保与表名没有冲突以避免 test1 覆盖 test2 表(反之亦然)。如果您想将这些表分开,则可以为所有表添加前缀,但这实际上取决于您要执行的操作。由于您期望 38 个表,我假设您不想混合数据。

【讨论】:

  • 这是一个使用 GUI 的解决方案。我需要使用 php 脚本!!
  • 您可以在 php 脚本中使用该命令和 exec 命令,您可以使用以下命令将一个数据库复制到另一个数据库中。 mysqldump -u user1 -ppassword1 数据库名 > dump.sql mysql -u user2 -ppassword2 数据库名
  • 感谢您的支持
【解决方案3】:

假设所有表名都不同并且我们只讨论表(我不确定触发器和其他操作),您可以使用“复制数据库来: " PHPmyAdmin 中的功能按照以下步骤执行此操作;

  1. 选择数据库test1
  2. 转到顶部的操作导航项
  3. 转到Copy database to: 部分,然后输入test3 作为您要迁移到的数据库。
  4. 重复test2

【讨论】:

  • 这是一个使用 GUI 的解决方案。我需要使用 php 脚本!!
  • 为什么?当涉及到这么多表时,编写 PHP 脚本没有意义吗?这些表叫什么?他们是table1table2 吗?
  • 感谢您的支持
猜你喜欢
  • 2013-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
  • 2016-07-30
  • 2016-12-10
  • 2011-11-18
  • 2020-08-07
相关资源
最近更新 更多