mysql 定时任务调度

1 首先确保 mysql 已开启 定时任务 (好像mysql在5.1 后才支持event(定时任务)):

查看计划事件是否开启:

mysql> show variables like '%scheduler%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | OFF   | 


若返回Value值是ON,则表示已经开启,若返回时OFF值表示没有开启。此时需要到mysql配置文件my.ini新增一项,在mysqld后面添加event_scheduler = on(或是event_scheduler = 1),保存后重启mysql服务器即可。

截图见下:



2)我要创建一个定时任务 每隔12小时,关闭未付款的订单

CREATE  EVENT updateOrderStatus_event 

ON SCHEDULE EVERY 12 HOUR 

STARTS '2014-09-29 16:32:54'

 ON COMPLETION PRESERVE ENABLE 

DO UPDATE orders t SET t.STATUS=4 WHERE  TIMEDIFF(NOW(),t.create_time)>'00:01:00' AND t.STATUS=0

注:

 ON COMPLETION PRESERVE ENABLE的解释: 这里可以选择 preserve 和not preserve(执行一次任务后就删除该event ) 所以这里要设置为 preserve

 event 状态 : enable disable


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值