MYSQL-定時任務(event)

之前刪除數據或者是更改數據都是在服務器上寫個腳本跑定時任務,crontab寫了很多任務;
mysql 5.1之後支持事件之後可以很方便的去執行了;
例如我要每天晚上23點去清空clients表;

查看mysql是否開啓事件;
show variables like 'event_scheduler' ;

開啓
set global event_scheduler =1;
創建事件
#更改一下; 爲$$ 在cmd命令行之行
DELIMITER $$
CREATE  EVENT `clients`
ON SCHEDULE EVERY 1 DAY STARTS '2017-10-13 23:00:00' 
DO BEGIN
   #幹你想幹的事情 insert delete update都可以
  truncate table clients;
END $$
DELIMITER ;

# 每天執行就是1 day  每週 1 week  每小時 1 HOUR  1 MINUTE
查看事件
show events;

如果是要設置幾天後執行又不想去計算時間 例如5天后開始執行
DELIMITER $$
CREATE  EVENT `clients`
ON SCHEDULE EVERY 1 DAY CURRENT_TIMESTAMP+ INTERVAL 5 DAY 
DO BEGIN
   #幹你想幹的事情 insert delete update都可以
  truncate table clients;
END $$
DELIMITER ;

如果 是5天后停止 加ends
DELIMITER $$
CREATE  EVENT `clients`
ON SCHEDULE EVERY 1 DAY ENDS ENDSCURRENT_TIMESTAMP+ INTERVAL 5 DAY 
DO BEGIN
   #幹你想幹的事情 insert delete update都可以
  truncate table clients;
END $$
DELIMITER ;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章