1

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

4

3 回答 3

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(); 
}
于 2012-04-23T10:59:47.907 回答
0

cron min exec time 是 1m,你必须做不定式循环,在每个循环之后我必须在里面 sleep(5)

于 2012-04-23T10:54:57.817 回答
-2

SET ROWCOUNT 1 将行数限制为 1

例如:

-- 将行数限制为 1 SET ROWCOUNT 1

从表 2 中删除

-- 将限制设置回默认值 SET ROWCOUNT 0

会做的。

于 2012-04-23T10:55:07.397 回答