mysql
So l?schen Sie Daten automatisch nach einer bestimmten Zeit
Ich verwende
java
, um eine To-Do-Liste zu erstellen undjava
做一個待辦事項,用mysql
um eine Datenbank zu erstellen
Ich m?chte abgeschlossene Zeilen am n?chsten Tag automatisch l?schen
Erg?nzung
Vergleichen Sie den von mir festgelegten Zeitstempel mit der aktuellen Zeit und l?schen Sie ihn dann.
Da ich se verwende, wird die Datenbank nur ge?ffnet, wenn sie verwendet wird.Entschuldigung, ich habe die Frage nicht klar formuliert.
可以給mysql建個定時任務(wù)
一、查看event是否開啟
show variables like '%sche%';
開啟event_scheduler
set global event_scheduler =1;
二、創(chuàng)建存儲過程test
CREATE PROCEDURE test ()
BEGIN
update userinfo set endtime = now() where id = '110';
END;
三、創(chuàng)建event e_test
create event if not exists e_test
on schedule every 30 second
on completion preserve
do call test();
每隔30秒將執(zhí)行存儲過程test
關(guān)閉事件任務(wù)
alter event e_test ON COMPLETION PRESERVE DISABLE;
開戶事件任務(wù)
alter event e_test ON COMPLETION PRESERVE ENABLE;
用java解決
@schedule(cron = "0 0 0 * ?" ) 每天零點執(zhí)行一次定時任務(wù)
上面0和星號之間少了一個星號,連打兩個星號會被屏蔽
我傾向于用腳本去操作,但是mysql也提供了自身的存貯過程,其本質(zhì)也是些簡單的mysql語句去執(zhí)行的。
我在網(wǎng)上查了 存儲過程的優(yōu)缺點,然后你想想腳本的優(yōu)缺點,用哪種方式,自行選擇吧!
存儲過程優(yōu)缺點
1.mysql自己的任務(wù)調(diào)度Event
2.java 應(yīng)用層的任務(wù)調(diào)度,推薦QuartZ
3.寫腳本,Node,python均可,利用操作系統(tǒng)的任務(wù)調(diào)度