我搜索了一遍,搜索了MYSQL文档ad nauseam,找不到一个简洁的方式来自动删除超过给定时间范围的记录。我已经能够在5.1中得到一个查询,在当前时间的DIFF函数中将TIMESTAMP值转换为DATETIME,以查看它是否符合到期条件。我读过5.1现在有能力运行计划任务,但没有太多配置它的方式。我没有为此使用触发器。在MySQL中自动删除过期记录的方法?
在MySQL文档为5.1,它是指创建事件:
'CREATE
[DEFINER = { user | CURRENT_USER }]
EVENT
[IF NOT EXISTS]
event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE | DISABLE ON SLAVE]
[COMMENT 'comment']
DO sql_statement;
schedule:
AT timestamp [+ INTERVAL interval] ...
| EVERY interval
[STARTS timestamp [+ INTERVAL interval] ...]
[ENDS timestamp [+ INTERVAL interval] ...]
interval:
我目前使用蟾蜍(其一直是天赐)。我的查询有效地删除了超过30分钟的任何记录。我只需要找到这个事件是如何被调用的...
谢谢!
2009-02-06
Todd