mysql 任务调度实现

大家讲道理
发布: 2016-11-12 10:00:55
原创
1063 人浏览过

今天有个业务需求,每天要重置流水号.想起oracle有job 于是联想到Mysql应该有类似的.发现mysql

通过EVENT 来实现

CREATE EVENT [IF NOT EXISTS] event_name  
   
    ON SCHEDULE schedule  
   
    [ON COMPLETION [NOT] PRESERVE]  
   
    [ENABLE | DISABLE]  
   
    [COMMENT 'comment']  
   
    DO sql_statement;  
   
schedule:  
   
    AT TIMESTAMP [+ INTERVAL INTERVAL]  
   
| EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]  
   
INTERVAL:  
   
    quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |  
   
              WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |  
   
              DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
登录后复制

简单使用如下

DELIMITER $$  
  /**  
     * 重置流水号  
     *   
     */  
-- SET GLOBAL event_scheduler = ON$$     -- required for event to execute but not create      
   
CREATE  /*[DEFINER = { user | CURRENT_USER }]*/ EVENT `xxx`.`reset_serialNumber`  
   
ON SCHEDULE EVERY 1 DAY STARTS '2014-05-06 23:59:59' 
     /* uncomment the example below you want to use */  
   
    -- scheduleexample 1: run once  
   
       --  AT 'YYYY-MM-DD HH:MM.SS'/CURRENT_TIMESTAMP { + INTERVAL 1 [HOUR|MONTH|WEEK|DAY|MINUTE|...] }  
   
    -- scheduleexample 2: run at intervals forever after creation  
   
       -- EVERY 1 [HOUR|MONTH|WEEK|DAY|MINUTE|...]  
   
    -- scheduleexample 3: specified start time, end time and interval for execution  
       /*EVERY 1  [HOUR|MONTH|WEEK|DAY|MINUTE|...]  
   
       STARTS CURRENT_TIMESTAMP/'YYYY-MM-DD HH:MM.SS' { + INTERVAL 1[HOUR|MONTH|WEEK|DAY|MINUTE|...] }  
   
       ENDS CURRENT_TIMESTAMP/'YYYY-MM-DD HH:MM.SS' { + INTERVAL 1 [HOUR|MONTH|WEEK|DAY|MINUTE|...] } */  
   
/*[ON COMPLETION [NOT] PRESERVE]  
[ENABLE | DISABLE]  
[COMMENT 'comment']*/  
   
DO  
    BEGIN 
        UPDATE xxx_sequence  
                   SET current_value = 0  
                   WHERE id = 1;  
    END$$  
   
DELIMITER ;
登录后复制


来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!