欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql下自動刪除指定時間以前的記錄的操作方法

 更新時間:2018年08月02日 14:26:02   作者:楓小秋  
這篇文章主要介紹了MySQL下自動刪除指定時間以前的記錄的操作方法,需要的朋友可以參考下

關于Event:mysql5.1版本開始引進event概念。event既“時間觸發(fā)器”,與triggers的事件觸發(fā)不同,event類似與linux crontab計劃任務,用于時間觸發(fā)。通過單獨或調用存儲過程使用,在某一特定的時間點,觸發(fā)相關的SQL語句或存儲過程。

首先刪除2天以前記錄的SQL語句(webserver_monitormemory為表名,time為時間字段):

delete From webserver_monitormemory where DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day));

創(chuàng)建存儲過程:

DELIMITER //
CREATE PROCEDURE autodel()
  -> BEGIN
  -> delete From webserver_monitormemory where DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day));
  -> END
  -> //
DELIMITER ;

創(chuàng)建事件,定制每天執(zhí)行autodel的存儲過程:

CREATE EVENT `event_auto_del_memorydata`  
ON SCHEDULE EVERY 1 DAY STARTS '2017-11-20 00:00:00'  
ON COMPLETION NOT PRESERVE ENABLE DO CALL autodel();

開啟事件計劃(調度器)4種方法。鍵值1或者ON表示開啟;0或者OFF表示關閉:

SET GLOBAL event_scheduler = 1; 
SET @@global.event_scheduler = 1; 
SET GLOBAL event_scheduler = ON; 
SET @@global.event_scheduler = ON;

查看當前是否已開啟事件計劃(調度器)3種方法:

SHOW VARIABLES LIKE 'event_scheduler';
SELECT @@event_scheduler;
SHOW PROCESSLIST;​

事件開啟與關閉:

ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE ENABLE; //開啟某事件
ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE DISABLE; //關閉某事件

這個是最簡單但是也是最重要的,我們要手動的啟動這個定時器,要不然是沒法工作的。

ALTER EVENT event_time_clear_data ON 
COMPLETION PRESERVE ENABLE;

另外,關閉定時器的代碼是:

ALTER EVENT event_time_clear_data ON 
COMPLETION PRESERVE DISABLE;

刪除存儲過程:

DROP PROCEDURE pro_clear_data;

刪除Event:

DROP EVENT IF EXISTS event_time_clear_data1

總結

以上所述是小編給大家介紹的Mysql下自動刪除指定時間以前的記錄的操作方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

最新評論