java - mysql隔天自動(dòng)刪除數(shù)據(jù)
問(wèn)題描述
mysql怎么在規(guī)定時(shí)間之后自動(dòng)刪除數(shù)據(jù)
我在用java做一個(gè)待辦事項(xiàng),用mysql做數(shù)據(jù)庫(kù)想實(shí)現(xiàn)第二天自動(dòng)刪除已完成的行
補(bǔ)充
根據(jù)我設(shè)置的時(shí)間戳跟當(dāng)前時(shí)間進(jìn)行比較,再進(jìn)行刪除因?yàn)槲沂怯胹e,數(shù)據(jù)庫(kù)用時(shí)才開(kāi)的
很抱歉,沒(méi)有寫(xiě)清楚問(wèn)題。
問(wèn)題解答
回答1:可以給mysql建個(gè)定時(shí)任務(wù)
一、查看event是否開(kāi)啟
show variables like ’%sche%’;
開(kāi)啟event_scheduler
set global event_scheduler =1;
二、創(chuàng)建存儲(chǔ)過(guò)程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í)行存儲(chǔ)過(guò)程test
關(guān)閉事件任務(wù)
alter event e_test ON COMPLETION PRESERVE DISABLE;
開(kāi)戶事件任務(wù)
alter event e_test ON COMPLETION PRESERVE ENABLE; 回答2:
這個(gè)邏輯交給java處理更好。
回答3:使用Java定時(shí)任務(wù).
import java.util.Timer;import java.util.TimerTask;回答4:
用java解決 @schedule(cron = '0 0 0 * ?' ) 每天零點(diǎn)執(zhí)行一次定時(shí)任務(wù)上面0和星號(hào)之間少了一個(gè)星號(hào),連打兩個(gè)星號(hào)會(huì)被屏蔽
回答5:我傾向于用腳本去操作,但是mysql也提供了自身的存貯過(guò)程,其本質(zhì)也是些簡(jiǎn)單的mysql語(yǔ)句去執(zhí)行的。
我在網(wǎng)上查了 存儲(chǔ)過(guò)程的優(yōu)缺點(diǎn),然后你想想腳本的優(yōu)缺點(diǎn),用哪種方式,自行選擇吧!存儲(chǔ)過(guò)程優(yōu)缺點(diǎn)
回答6:1.mysql自己的任務(wù)調(diào)度Event2.java 應(yīng)用層的任務(wù)調(diào)度,推薦QuartZ3.寫(xiě)腳本,Node,python均可,利用操作系統(tǒng)的任務(wù)調(diào)度
回答7:試一下quartz,不知道對(duì)你是不是有幫助
相關(guān)文章:
1. dockerfile - 我用docker build的時(shí)候出現(xiàn)下邊問(wèn)題 麻煩幫我看一下2. android-studio - Android studio導(dǎo)入老版本的2048項(xiàng)目報(bào)錯(cuò)3. 為什么我ping不通我的docker容器呢???4. 關(guān)于設(shè)計(jì)mysql中一個(gè)字段自增的函數(shù)。5. PhpStorm 輸入php按tab后生成的起始結(jié)束標(biāo)簽<php><php> 如何修改?6. 做一個(gè)抽獎(jiǎng)系統(tǒng)7. 為什么return不了數(shù)據(jù)給ajax8. php mail無(wú)法發(fā)送郵件9. PHP類屬性聲明?10. PHP 怎么api獲取json數(shù)據(jù)
