每隔5秒从表中删除记录

时间:2012-04-23 10:50:25

标签: php mysql

我想每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秒删除一条记录。

3 个答案:

答案 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

会这样做。