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

Php 如何在一台服务器中创建表,就像从另一个表创建表一样,php,mysql,mysqli,Php,Mysql,Mysqli,我正在连接位于两个不同服务器中的两个数据库,如 $connection_from = new mysqli($databasehost_from,$databaseusername_from,$databasepassword_from,$databasename_from); $connection_to = new mysqli($databasehost_to,$databaseusername_to,$databasepassword_to,$databasename_to); 现在,

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

$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

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

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

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


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

即使可以使用,也必须为新表发出两条
CREATE TABLE
语句。但是您可以通过
INSERT-into…将数据输入第二台主机。。。选择。
可以通过Insert QUERY从第一个连接中提取数据并将其存储在第二个连接中。如果表保持不变(只需要创建一次),请使用phpMyAdmin导出表的
CREATE
语句,然后使用
Insert INTO。。。选择…
语法。否则,您可以尝试复制。