假设我在我的数据库表的字段中包含内置的MySQL时间戳。
每当我更新记录时,它都会更新时间戳。
我想删除超过一小时的记录。 关于如何最好地做到这一点的任何想法?
我可以循环检查所有记录的时间戳,或者可能是数据库中的触发器吗?
答案 0 :(得分:4)
您可以使用cronjob来安排在固定时间间隔内执行的查询:
DELETE FROM table_name WHERE time_created < (UNIX_TIMESTAMP() - 3600);
每次运行时,都会删除超过1小时的所有记录(大概是你想要的)。