前提:表中有date(defualt current_timestamp)字段
基礎語句:
檢視定時事件執行緒是否開啟: show variables like '%event_scheduler%';
開啟定時事件執行緒:set global event_scheduler=1;
檢視已有的定時事件任務:show events;
需求1:每過5秒鐘刪除過期30分鐘的資料
mysql語句(先刪除原事件):
drop event if exists e_delete_wxauth;
create event e_delete_wxauth
on schedule
every 5 second
dodelete from weixin_auth where date < date_sub(current_timestamp,interval 30 minute);
需求2:每天0點刪除已過期30分鐘事件
mysql語句(先刪除原事件):
drop event if exists e_delete_wxauth;
create event e_delete_wxauth
on schedule
every 1 day starts '2000-01-01 00:00:00'
dodelete from weixin_auth where date < date_sub(current_timestamp,interval 30 minute);
(ps:starts只是從這時間起執行緒開始執行,比如說現在時間是2016-09-20 12:30:15執行此sql語句,要等2016-09-21 00:00:00才開始生效)
需求3:每天3點更新金幣排行榜
delimiter |
create event `e_updata_rank_share_gold`
on schedule
every 1 day starts '2000-01-01 03:00:00'
dobegin
delete from rank_gold;
insert into rank_gold select `user_id`,`username`,`img`,sum(gold_num) as gold from `gold_log` left join user on user.id=user_id where gold_type=3 group by user_id order by gold desc limit 0,15;
end |
delimiter ;
週期:
year | quarter | month | day | hour | minute |文獻參考:week | second | year_month | day_hour | day_minute |
day_second | hour_minute | hour_second | minute_second
本文出處:
csdn部落格位址
mysql定時刪除資料
mysql show variables like scheduler variable name value event scheduler off 1row inset 臨時開啟 setglobal event scheduler on 永久開啟,my.cnf中 mysqld 新增,並重啟服務 ...
mysql 定時任務 生效 mysql定時任務
1.檢視是否開啟定時策略 show variables like event sche 若出現如下圖,則此時是關閉狀態 開啟定時策略 重啟無效 set global event scheduler 1 則需要在配置檔案my.ini的設定 重啟有效 mysqld event scheduler on ...
mysql 定時任務
檢視event是否開啟 複製 如下 show variables like sche 將事件計畫開啟 複製 如下 set global event scheduler 1 建立儲存過程test 複製 如下 create procedure test begin update examinfo set...