我正在创建一个数据库表,其中需要在设置时间后删除行。该时间由该行中的valid_time
单元格以分钟为单位定义。我找到了这个答案,虽然我不确定我如何才能实现我需要进入它。
有人能告诉我如何在之前的答案中实现这个时间(以分钟为单位)到事件中,或者如果不可能,另一种方法可以这样做。谢谢。
澄清,我在表中有两列。一个是created
,它是创建行时的时间戳,第二个是valid_time
,一个以分钟为单位的整数,表示行有效的时间。
DELETE FROM table WHERE created < DATE_SUB(NOW(), INTERVAL `valid_time` MINUTE)
您可以尝试使用MySQL事件调度程序并将DELETE查询附加到它。这个DELETE将是一个简单的查询,它将删除current_time
大于valid_time
/valid_until
字段的所有记录。
您可以配置调度程序以分钟/小时/每天/…
点击这里和这里了解更多信息。M0rtiis
提供了查询示例