我如何更新mySQL与PHP,但只有当最后更新超过24小时前


How do I update mySQL with PHP, but only if the last update was more than 24hrs ago?

我有一个不同用户的表,但是我希望能够限制用户更新自己信息的频率。在表中,当用户进行更改时,时间戳将自动更新。

页面在加载时自动使用UPDATE edits SET EDITS=EDITS+1 WHERE ID='$sID'更新其信息,但如果最后一次更新少于24小时前,我希望忽略该信息。

我不确定是否可以在UPDATE中解决这个问题,或者是否有更好的替代方案。

谢谢!

假设上次更新的列是last_updated

UPDATE edits SET EDITS=EDITS+1 WHERE ID='$sID' AND DATE_SUB(NOW(), INTERVAL 24 HOUR)>last_updated

您需要向数据库中添加一个包含上次更新的列。让我们假设它被称为last_update和DATETIME格式。

$one_day_ago = strtotime('24 hours ago');

然后运行这个查询:

UPDATE edits SET EDITS=EDITS+1 WHERE ID='$sID' AND last_update <= FROM_UNIXTIME('$one_day_ago')