【发布时间】:2013-05-13 12:31:45
【问题描述】:
如何创建一行的生命周期,以便在特定时间(例如 2 周)后自动删除该行?任何信息都会很棒。
【问题讨论】:
标签: mysql
如何创建一行的生命周期,以便在特定时间(例如 2 周)后自动删除该行?任何信息都会很棒。
【问题讨论】:
标签: mysql
RDBMS 通常不允许行自动自毁。这对生意不利。
更严肃地说,一些想法,取决于您的确切需求
DELETE 以根据某些日期/时间列删除行【讨论】:
在默认为CURRENT_TIMESTAMP的表中添加timestamp列,并在服务器上安装一个经常运行和修剪旧记录的cron作业。
DELETE FROM MyTable WHERE datediff(now(), myTimestamp) >= 14;
【讨论】:
或者您可以添加时间戳列并始终像这样选择:
SELECT * FROM myTable WHERE timetampColumn>=date_sub(now(), interval 2 week);
如果您不需要删除数据并且只想显示最近 2 周的数据,则效果会更好。
【讨论】: