我想每5秒删除一条记录,并且也有一个cron作业。但是一旦cron启动,它会立即删除所有记录。
我是否在这里使用sleep 5,它不会影响执行
使用的代码如下。
mysql_select_db($database_xm, $xm);
$query_ex = "SELECT * FROM table";
$ex = mysql_query($query_ex, $xm) or die(mysql_error());
$row_ex = mysql_fetch_assoc($ex);
$RecordCount=mysql_num_rows($ex);
for ($l=0;$l<=$RecordCount;$l++) {
mysql_select_db($database_xm, $xm);
$query_ss = "delete from table2 limit 1";
$ss = mysql_query($query_ss, $xm) or die(mysql_error());
sleep(5);
ob_flush();
}
如何每5秒删除一条记录。
答案 0 :(得分:1)
为什么不根据$row_ex
中已有的信息选择一条记录并进行识别?这样,您还可以控制删除记录的顺序。
for ($l=0;$l<=$RecordCount;$l++) {
$row = $row_ex[$l];
$query_ss = "delete from table2 WHERE id = ".$row['id']; // EXAMPLE
$ss = mysql_query($query_ss, $xm) or die(mysql_error());
sleep(5);
ob_flush();
}
答案 1 :(得分:0)
cron min exec时间是1m,你必须做无限循环,里面必须我每次循环后睡觉(5)
答案 2 :(得分:-2)
SET ROWCOUNT 1会将行数限制为1
例如:
- 将行限制设置为1 SET ROWCOUNT 1
从table2删除
- 将限制设置回默认值 SET ROWCOUNT 0
会这样做。