如何在一台服务器中创建表,就像在另一个表中创建表一样

时间:2014-09-20 13:19:58

标签: php mysql mysqli

我正在连接2​​个不同服务器中的两个数据库,如

$connection_from = new mysqli($databasehost_from,$databaseusername_from,$databasepassword_from,$databasename_from);
$connection_to = new mysqli($databasehost_to,$databaseusername_to,$databasepassword_to,$databasename_to);

现在我想创建表table2并在第二个主机数据库中插入相同的数据,因为它已存在于第一个主机数据库中。任何人都可以建议我以正确的方式进行。我试过像

CREATE TABLE connection_to.table2 AS SELECT * FROM connection_from.table1

但是我没有发现表格是创建的。

1 个答案:

答案 0 :(得分:0)

如果您尝试复制数据库,请不要使用PHP。 MySQL内置了复制功能。用那个。它执行差异而不是完全传输,因此它的工作速度要快得多。

如果您不能或不想使用复制,则应该在命令行中查看使用管道。如果数据库增长到足够大的大小,您将遇到使用PHP形成传输的问题,因为变量大小将超过PHP变量大小限制。您可以在命令行上使用system方法,并从一个数据库执行读取并将其传递到另一个数据库上的写入。这假设您使用的是Linux系统。如果您使用的是Windows ...请转到Linux。

如果您定期执行此操作,您可能只需编写脚本并设置cron任务来处理它。