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
评论列表(0条)