登录
首页 >  数据库 >  MySQL

mysql 定时任务执行

来源:SegmentFault

时间:2023-01-26 15:21:03 154浏览 收藏

小伙伴们有没有觉得学习数据库很有意思?有意思就对了!今天就给大家带来《mysql 定时任务执行》,以下内容将会涉及到MySQL、event,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

SET GLOBAL event_scheduler = ON;  

show variables like 'event_scheduler';  
 event_scheduler ON

创建event:

CREATE EVENT my_event   
  
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 10 SECOND   
  
DO  
    UPDATE tbl1 SET pic_count = pic_count + 10 WHERE uname = 'aaaa';  

查看待执行event:

show events  

为空说明已经执行完了。

以上分为三部分:

1. create event

#schedule:  
    AT timestamp [+ INTERVAL interval] ... | EVERY interval    [STARTS timestamp [+ INTERVAL interval] ...][ENDS timestamp [+ INTERVAL interval] ...]  

CREATE EVENT my_event2   
ON SCHEDULE EVERY 5 SECOND  
      ENDS CURRENT_TIMESTAMP + INTERVAL 50 SECOND  
DO  
    UPDATE t1   SET pic_count = pic_count + 2 WHERE uname = 'aaaa';  

周期的具体单位值:

interval:
    quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
              WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
              DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

do

具体要执行的动作sql.

举例:定时清理表c_amount 3天前的数据,5个小时10分钟后启动(第一次执行)。

CREATE EVENT e_c_amount_delete_3_days_ago  
ON SCHEDULE EVERY 1 DAY  
        STARTS CURRENT_TIMESTAMP + INTERVAL '05:10' HOUR_MINUTE  
DO delete from c_amount where modify_time 

[2015-06-01]

终于介绍完啦!小伙伴们,这篇关于《mysql 定时任务执行》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表