我正在创建一个数据库表,其中需要在设定的时间后删除行。该时间由该行中的valid_time
单元格以分钟为单位定义。我发现this answer虽然我不确定如何实现我需要的东西。
是否有人能够告诉我如何将此时间(作为分钟)实施到上一个答案的事件中,或者如果不可能,另一种方法是这样做。感谢。
澄清,我在表格中有两列。一个是created
,它是创建行时的TIMESTAMP,第二个是valid_time
,是行有效期的整数(分钟)。
2 个答案:
答案 0 :(得分:2)
DELETE FROM table WHERE created < DATE_SUB(NOW(), INTERVAL `valid_time` MINUTE)
答案 1 :(得分:1)
您可以尝试使用MySQL事件调度程序并附加DELETE查询。该DELETE将是一个简单的查询,将删除current_time
大于valid_time
/ valid_until
字段的所有记录。
您可以将调度程序配置为以分钟/小时/每日/ ...为基础运行,因为您希望删除寄存器。
检查here和here以获取更多信息。 M0rtiis
提供了查询示例。