1. 程式人生 > >MYSQL-定時任務(event)

MYSQL-定時任務(event)

mysql 定時

之前刪除數據或者是更改數據都是在服務器上寫個腳本跑定時任務,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 ;


MYSQL-定時任務(event)