tft每日頭條

 > 科技

 > mysql删除舊數據

mysql删除舊數據

科技 更新时间:2024-12-17 10:59:24
建立存儲過程,存儲過程的名字 dele_src_data

按照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();

  1. 上面為整體代碼,敲完再寫分号
  2. 第一行create event是創建名為del_src_data的事件,注意此處沒有括号
  3. 第二行是創建周期定時的規則,本處的意思是每3天執行一次
  4. 第三行on completion preserve enable是表示創建後開始生效。如果是disable就是不馬上生效
  5. 第四行call dele_src_data();是該event(事件)的操作内容,表示調用創建的dele_src_data存儲過程。

如果需要指定執行開始和結束時間如下:

mysql删除舊數據(定期删除表中的過期數據)1

每隔10分鐘執行一次,如下:

mysql删除舊數據(定期删除表中的過期數據)2

删除定時事件

DROP event dele_src_data

查看定時器事件的任務參數

show events select * from mysql.event;

mysql删除舊數據(定期删除表中的過期數據)3

查看定時事件裡面的具體代碼内容

SHOW create EVENT del_src_data

mysql删除舊數據(定期删除表中的過期數據)4

查看事件是否啟動

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;

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved