十分钟未使用后删除行 ("expiry")

Delete row after ten minutes not being used ("expiry")

我在 LAMP 堆栈上使用 MySQL 数据库。我有一个 table,其中有一些简单的条目。这些条目应该在十分钟未使用后自动删除。 "being used" 被定义为通过 SELECT 插入、更新或简单地请求(显然删除并不重要)。我想为此使用纯 MySQL,但还找不到解决方案。如果需要,字段可以有 table.time_used 属性,但目前还没有。不过创建一个也没问题。我在考虑一些 TRIGGER 和 PROCEDURE 的组合,但还想不出一个。

我知道我可以使用像 cron 这样的第三方应用程序,但我更喜欢 MySQL 解决方案,因为项目可能会被复制到其他无法使用 cron 的环境。

我也知道可以通过使用 table 和 table.expiration_time 字段更改 SELECT 语句来做到这一点,这也可能更准确,但我不知道需要它在第二个工作,我只需要大约十分钟,并希望保持它干净,因为这可能 运行 在非常有限的机器上。

提前致谢! :)

我会推荐 all 通过存储过程进行访问,然后控制更新 lastUsed 日期时间。

存储过程外部 的临时访问不会强制更新lastUsed 方面。换句话说,这会让人不悦。自然是可以用,但控制不严,会落在预期之外。

执行此操作的任何其他机制都将依赖于 MySQL 之外的全栈服务。

自动删除将通过内置 Events functionality in MySQL. I have 3 Events related links off my profile page. One to start looking at is .