MySQL删除行早于

时间:2015-09-15 16:27:50

标签: mysql datetime mysql-event

我有一个在我的数据库上每小时运行一次的事件。它调用的程序可以删除早于一天的照片表中的行。这是查询:

DELETE FROM Photos WHERE created_at < (NOW() - INTERVAL 1 DAY);

然而,今天早上我注意到我测试的行已经超过5小时被删除了。我住在休斯顿,所以我在中央时间。照片应该在中央时间上午11:23删除,所以我猜这是一个时区问题。如果它是如何在日期上添加时区的话,如果它不是什么问题呢?

1 个答案:

答案 0 :(得分:1)

如果您的dB与您所在的时间不同,则可能是时区问题。

每小时而不是每天都要清理数据是否必要。

使用日期部分功能可以获得更多的乐趣。这样你就完全摆脱了时间戳

所以

Delete from photos where created_at < ((date(now()) - INTERVAL 1 DAY );