【发布时间】:2018-12-08 05:35:39
【问题描述】:
我想知道mysql(或mariadb)是否提供过期功能,可以在数据库中自动删除行,而无需使用任何额外的调度程序,也无需使用任何SQL,如DELETE。
这应该在您创建表时发生或定义,以便一旦出现INSERT,它就会开始管理它。
这里有很多相关的问题:
MySQL how to make value expire?
Remove Mysql row after specified time
但是,我找不到答案。我对使用WHERE 和DELETE 不感兴趣。
有可能吗?
【问题讨论】:
-
我认为与您正在寻找的最接近的是创建一个 Event 来删除旧行,就像有人在您发布的链接之一中解释的那样。
-
@EnricoDias 我不想要
the closest thing。我要找的是the thing。 -
简答 - 否
-
@Strawberry 在某些情况下可以使用。例如,“验证码”。有时,我们只需要一次数据,而不需要它的日志。并且应该在一定时间内删除。
-
答案是“不;MySQL 没有这样的功能。”您想要解决方法吗?