加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

如何使用PHP将一个SQL命令的返回值插入另一个表中

发布时间:2021-03-05 13:37:03 所属栏目:MySql教程 来源:网络整理
导读:我有两个服务器托管两个不同的站点,两个独立的数据库.但是,有些数据需要共享 因此有一个CRON可以将数据从第一个站点复制到第二个站点.这两个站点曾经在同一台服务器上运行,但现在我们将它们分开,所以我试图修改PHP以便能够处理这个问题. 这是我遇到问题的

我有两个服务器托管两个不同的站点,两个独立的数据库.但是,有些数据需要共享 – 因此有一个CRON可以将数据从第一个站点复制到第二个站点.这两个站点曾经在同一台服务器上运行,但现在我们将它们分开,所以我试图修改PHP以便能够处理这个问题.

这是我遇到问题的代码:

$sql = "SELECT * FROM site1.events";
$events = mysql_query($sql,$site1db);  

$sql = "INSERT INTO site2.events SELECT * FROM $events";
$doIt = mysql_query($sql,$site2db);

现在我知道SELECT * FROM site1.events是成功的,但它无法插入第二个站点,我没有看到任何类型的错误.我之前从未编写过PHP(这是一项遗留任务),所以如果它之前已被覆盖过,那么请指出正确的方向.

请注意,site2.events在这些命令之前被截断,因此不需要进行比较.

最佳答案 您将不得不逐行比较和复制.你现在试图做的事情是行不通的.如果数据库在同一服务器上运行并且数据库用户可以访问这两个数据库,则可以使用INSERT IGNORE INTO site2.events(SELECT * FROM site1.events).不利的一面是,主键必须相同,否则您将错过数据.

一个更好的选择是简单地让site1在添加新事件时向site2做一个包含该事件的所有信息的回调.

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读