在MySQL中自动删除过期记录的方法?

Tod*_*odd 3 mysql

我搜索了MYSQL文档广告并且无法找到一种简洁的方法来自动删除超过给定时间范围的记录.我已经能够在5.1中获得一个查询,在DIFF函数中将TIMESTAMP的值转换为DATETIME,并使用当前时间查看它是否符合到期条件.我已经读过5.1现在能够运行计划任务,但配置方式不多.我没有使用触发器.

在MySQL的5.1s文档中,它指的是创建一个事件:

'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:
Run Code Online (Sandbox Code Playgroud)

我目前使用的是Toad(一直是天赐之物).我的查询有效地删除了超过30分钟的任何记录.我只需要找到如何调用此事件...

谢谢!

twk*_*twk 5

您正在谈论使用MySQL Scheduler.一旦你创建了这个事件,MySQL就会在你配置它的任何时间间隔自动调用它.如果您无法设置它,请发布查询和错误.