使用不同的模式将随机行从一个MySQL表复制到另一个MySQL表

时间:2016-05-25 15:44:20

标签: php mysql sql database cron

我有一个名为locations的数据库表,它有许多位于此模式之后的位置:lid(PID), name, totalVotes, timeSince我想从该表中随机选择4行并将它们复制到另一个模式为{{1的表}}。我想设置一个cron作业来每天这样做,所以我先写一个PHP脚本,然后再用cron作业设置。

我在让脚本工作时遇到问题,因为我选择的数据库中没有反映任何更改。以下是我在sid(PID), lid(Foreign), votes中的尝试:

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表格中没有任何更改。

1 个答案:

答案 0 :(得分:1)

你可以尝试一下吗? 第一个选择不是必需的,并且您认为在查询结束时有一个错误;

INSERT INTO selected (lid) (SELECT lid FROM locations ORDER BY RAND() LIMIT 4)