mysql-定時任務

來源:互聯網
上載者:User

標籤:

mysql 定時任務從5.1版本開始引入,又叫做臨時觸發器,但是與普通觸發器不同的是,普通觸發器是通過操作資料表的每行資料而觸發的事件,而它是通過時間點或者時間周期觸發

先來看一下它的文法:

DELIMITER $$-- SET GLOBAL event_scheduler = ON$$     -- required for event to execute but not create    CREATE    /*[DEFINER = { user | CURRENT_USER }]*/    EVENT   `event1`ON SCHEDULE     /* 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        (sql_statements)    END$$DELIMITER ;

基本上通過上面的文法說明已經瞭解到如何使用了,下面針對每種方式可以再寫個小栗子

1,在某個時間點觸發(執行一次):

DELIMITER $$CREATE     EVENT `bdhp`.`e_e1`ON SCHEDULE        /*只執行一次*/        /*AT ‘2015-02-03 16:07.00‘*//*某一時間點*/           /* AT ‘2015-02-03 16:47.20‘ + INTERVAL 40 second*//*某一時間點 + 一段時間*/                 AT CURRENT_TIMESTAMP+ INTERVAL 40 SECOND/*目前時間點 + 一段時間*/        DO    BEGIN        INSERT INTO t_sys_log(sn)VALUES(‘55555‘);    END$$DELIMITER ;

2,按周期執行,無限次數

DELIMITER $$CREATE     EVENT `e_e2`ON SCHEDULE           EVERY 1 MINUTEDO    BEGIN        INSERT INTO t_sys_log(sn)VALUES(‘55555‘);    END$$DELIMITER ;

3,在某一時間段內,按周期執行(ends 不寫則表示從某一時間點開始執行)

DELIMITER $$CREATE     EVENT `e_e3`ON SCHEDULE    EVERY 1  SECOND       STARTS CURRENT_TIMESTAMP       ENDS ‘2015-02-03 16:15.00‘DO    BEGIN        INSERT INTO t_sys_log(sn,USER_NAME)VALUES(‘test‘,‘ttt-55‘);    END$$DELIMITER ;

 

mysql-定時任務

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.