如何利用事件调度器定时从mysql中删除数据

use client;
select * from usertime;
会得出[id][username][begintime][overtime]
现在需要完成的操作就是,每10分钟执行一次上面sql语句,从[id]为1开始查询,一直到[id]为n,当[overtime]超过当前时间时,取出[username],并执行
user check;
delete from usercheck where username=[username];

mysql定时任务

自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作。更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执行一次。对于一些对数据实时性要求比较高的应用(例如:股票、赔率、比分等)就非常适合。

如:每隔30秒将执行存储过程test,将当前时间更新到examinfo表中id=14的记录的endtime字段中去.
CREATE PROCEDURE test ()
BEGIN
update examinfo SET endtime = now() WHERE id = 14;
END;

create event if not exists e_test
on schedule every 30 second
on completion preserve
do call test();

2. windows、linux 的定时任务 这个就不举例了,通过脚本定时去调用mysql执行
温馨提示:答案为网友推荐,仅供参考
相似回答