84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
mysql怎麼在規定時間之後自動刪除資料
mysql
我在用java做一個待辦事項,用mysql做資料庫想實現第二天自動刪除完成的行
java
#補充
根據我設定的時間戳跟目前時間進行比較,再進行刪除因為我是用se,資料庫用時才開的 很抱歉,沒有寫清楚問題。
根據我設定的時間戳跟目前時間進行比較,再進行刪除因為我是用se,資料庫用時才開的
很抱歉,沒有寫清楚問題。
可以給mysql建個定時任務
一、查看event是否開啟
show variables like '%sche%';
開啟event_scheduler
set global event_scheduler =1;
二、建立預存程序test
CREATE PROCEDURE test () BEGIN update userinfo set endtime = now() where id = '110'; END;
三、建立event e_test
create event if not exists e_test on schedule every 30 second on completion preserve do call test();
每隔30秒將執行預存程序test
關閉事件任務
alter event e_test ON COMPLETION PRESERVE DISABLE;
開戶事件任務
alter event e_test ON COMPLETION PRESERVE ENABLE;
這個邏輯交給java處理比較好。
使用Java定時任務.
import java.util.Timer; import java.util.TimerTask;
用java解決@schedule(cron = "0 0 0 * ?" ) 每天零點執行一次定時任務上面0和星號之間少了一個星號,連打兩個星號會被屏蔽
我傾向於用腳本去操作,但是mysql也提供了自身的存貯過程,其本質也是些簡單的mysql語句去執行的。
我在網路上查了 預存程序的優缺點,然後你想想腳本的優缺點,用哪種方式,自行選擇吧!儲存過程優缺點
1.mysql自己的任務調度Event2.java 應用層的任務調度,推薦QuartZ3.寫腳本,Node,python均可,利用作業系統的任務調度
試試看quartz,不知道對你是不是有幫助
可以給mysql建個定時任務
一、查看event是否開啟
開啟event_scheduler
二、建立預存程序test
三、建立event e_test
每隔30秒將執行預存程序test
關閉事件任務
開戶事件任務
這個邏輯交給java處理比較好。
使用Java定時任務.
用java解決
@schedule(cron = "0 0 0 * ?" ) 每天零點執行一次定時任務
上面0和星號之間少了一個星號,連打兩個星號會被屏蔽
我傾向於用腳本去操作,但是mysql也提供了自身的存貯過程,其本質也是些簡單的mysql語句去執行的。
我在網路上查了 預存程序的優缺點,然後你想想腳本的優缺點,用哪種方式,自行選擇吧!
儲存過程優缺點
1.mysql自己的任務調度Event
2.java 應用層的任務調度,推薦QuartZ
3.寫腳本,Node,python均可,利用作業系統的任務調度
試試看quartz,不知道對你是不是有幫助