很抱歉这篇文章有很多答案,但我正在旋转我的轮子并且没有想法。非常简单:删除所有超过 1 分钟的记录:
function deleteExpiredKeys ($link) {
$date = date("Y-m-d H:i:s");
$time = strtotime($date);
$time = $time - (60);
$date = date("Y-m-d H:i:s", $time);
$sql = 'DELETE from Session_Keys
WHERE updated_at < ' . $date;
$result = mysqli_query($link, $sql);
if (!$result) return false;
return true;
}
'updated_at' 是一个 datetime
字段。
这不会引发任何错误,但也不会删除任何内容。我尝试了很多不同的东西,其中大多数比我在这里发布的更优雅,但没有任何效果。谁能帮我?谢谢。
最佳答案
您不需要在 PHP 中创建时间。 MySQL 可以自己进行时间计算。
DELETE from Session_Keys
WHERE updated_at < NOW() - INTERVAL 1 MINUTE
关于PHP MySQL 删除早于 1 分钟的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29424107/