按照update_tiem字段删除過期數據
use test_db;
delimiter //
create procedure dele_src_data()
begin
DELETE FROM src_data where TO_DAYS(now())-TO_DAYS(update_time) > 1;
end//
delimiter ;c定時器
create event del_src_data
on schedule EVERY 3 day
on completion preserve enable
do call dele_src_data();
- 上面為整體代碼,敲完再寫分号
- 第一行create event是創建名為del_src_data的事件,注意此處沒有括号
- 第二行是創建周期定時的規則,本處的意思是每3天執行一次
- 第三行on completion preserve enable是表示創建後開始生效。如果是disable就是不馬上生效
- 第四行call dele_src_data();是該event(事件)的操作内容,表示調用創建的dele_src_data存儲過程。
如果需要指定執行開始和結束時間如下:
每隔10分鐘執行一次,如下:
删除定時事件
DROP event dele_src_data
show events
select * from mysql.event;
查看定時事件裡面的具體代碼内容
SHOW create EVENT del_src_data
查看事件是否啟動
show variables like 'event_scheduler';
set global event_scheduler=on;
永久開啟事件:
在my.ini配置文件的[mysqld]部分,加上event_scheduler=ON 即可。
顯示事件的運行狀态
show processlist;
alter event del_src_data on completion preserve enable;
alter event del_src_data on completion preserve disable;