【发布时间】:2016-09-23 08:14:40
【问题描述】:
我有一个名为 locations 的数据库表,它有许多位置遵循此架构:lid(PID), name, totalVotes, timeSince,我想从该表中随机选择 4 行并将它们复制到另一个架构为 sid(PID), lid(Foreign), votes 的表中。我想每天设置一个 cron 作业来执行此操作,所以我首先编写一个 PHP 脚本,然后再设置该 cron 作业。
我在让脚本正常工作时遇到问题,因为我选择的数据库中没有反映任何更改。这是我迄今为止在copy.php 中的尝试:
<?php
// create connection
mysql_connect("localhost","root",NULL);
@mysql_select_db("Locations") or die("Unable to select db");
// this SQL statement moves 4 random rows from locations to selected table
$sql = "INSERT INTO selected (lid) SELECT lid FROM locations WHERE lid IN (SELECT lid FROM locations ORDER BY RAND() LIMIT 4);";
mysql_query($sql);
mysql_close();
echo "all good";
?>
当我刷新我的localhost/copy.php 时,我收到“一切正常”的消息,但我的selected 表中再次没有任何变化。
【问题讨论】:
-
首先,您是要移动还是复制?我只在你的例子中看到了复制。
-
@Piskvor 复制,我很抱歉
-
使用
mysql_affected_rows()php.net/manual/en/function.mysql-affected-rows.php 获取真实性并检查错误。你在这里得到一个误报,这意味着你有错误,但你没有检查它们。
标签: php mysql sql database cron