溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在Mysql中刪除指定時(shí)間值之前的記錄

發(fā)布時(shí)間:2021-05-12 17:46:51 來(lái)源:億速云 閱讀:3355 作者:Leah 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章給大家介紹怎么在Mysql中刪除指定時(shí)間值之前的記錄,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

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

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

創(chuàng)建存儲(chǔ)過(guò)程:

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的存儲(chǔ)過(guò)程:

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

開啟事件計(jì)劃(調(diào)度器)4種方法。鍵值1或者ON表示開啟;0或者OFF表示關(guān)閉:

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

查看當(dāng)前是否已開啟事件計(jì)劃(調(diào)度器)3種方法:

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

事件開啟與關(guān)閉:

ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE ENABLE; //開啟某事件
ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE DISABLE; //關(guān)閉某事件

這個(gè)是最簡(jiǎn)單但是也是最重要的,我們要手動(dòng)的啟動(dòng)這個(gè)定時(shí)器,要不然是沒(méi)法工作的。

ALTER EVENT event_time_clear_data ON 
COMPLETION PRESERVE ENABLE;

另外,關(guān)閉定時(shí)器的代碼是:

ALTER EVENT event_time_clear_data ON 
COMPLETION PRESERVE DISABLE;

刪除存儲(chǔ)過(guò)程:

DROP PROCEDURE pro_clear_data;

刪除Event:

DROP EVENT IF EXISTS event_time_clear_data1

關(guān)于怎么在Mysql中刪除指定時(shí)間值之前的記錄就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI