每 5 秒从表中删除一次记录


Deleting on record from table every 5 seconds

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

你为什么不简单地选择一个记录并从你已经拥有的信息中识别它$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(); 
}

cron 最小执行时间为 1m,你必须做不定式循环,里面必须我每次循环后睡觉(5)

将行

计数设置为 1

例如:

-- 将行数限制设置为 1设置行计数 1

从表2中删除

-- 将限制设置回默认值设置行计数 0

会这样做。