mysql中每隔一段时间自动执行一次sql语句

mysql中每隔一段时间自动执行一次sql语句,第1张

mysql要实现定时执行sql语句就要用到Event具体 *** 作如下:先看看看event 事件是否开启show variables like '%sche%'如没开启,则开启。需要数据库超级权限set global event_scheduler =1创建存储过程 update_a (注:就是你要执行的sql语句)mysql>create procedure update_a() update a set a.y_avg=(select avg(b.youhao) from b where a.a_id=b.a_id)创建一个定时任务:event e_updateA mysql>create event if not exists e_updateA->on schedule every 60 second ---设置60秒执行一次 ->on schedule at date_add(now(),interval 1 minute) ---在一分钟后执行->on completion preserve->do call update_a() ---执行update_a()存储过程创建Event之后,sql语句就定时执行一次。关闭事件任务mysql>alter event e_updateA ON->COMPLETION PRESERVE DISABLE开启事件任务mysql>alter event e_updateA ON->COMPLETION PRESERVE ENABLE如还有问题再联系我

如果数据库里的时间格式是yyyy-MM-dd HH:mm:ss 这样格式是可以用来比较大小的

date_sub(now(),interval 1 minute) <addtime

如果是其它格式的就用这个,如我的addtime是php的time()函数输出

SELECT * FROM content WHERE UNIX_TIMESTAMP(date_sub(now(),interval 1 minute)) <addtime

如果有时间字段的话,使用最时间字段来做条件,

select * from xx where time >date('2012-08-20 11:20:00') and time <date_add('2012-08-20 11:20:00',interval 5 minute)

没有的话就使用limit,总共需要288次,每次取30条

select * from xx limit 30*取的次数,30


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8604027.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存