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

前端之家收集整理的这篇文章主要介绍了如何使用PHP将一个SQL命令的返回值插入另一个表中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有两个服务器托管两个不同的站点,两个独立的数据库.但是,有些数据需要共享 – 因此有一个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做一个包含该事件的所有信息的回调.

原文链接:https://www.f2er.com/mysql/433751.html

猜你在找的MySQL相关文章