java - mysql隔天自动删除数据
问题描述
mysql怎么在规定时间之后自动删除数据
我在用java做一个待办事项,用mysql做数据库想实现第二天自动删除已完成的行
补充
根据我设置的时间戳跟当前时间进行比较,再进行删除因为我是用se,数据库用时才开的
很抱歉,没有写清楚问题。
问题解答
回答1:可以给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; 回答2:
这个逻辑交给java处理更好。
回答3:使用Java定时任务.
import java.util.Timer;import java.util.TimerTask;回答4:
用java解决 @schedule(cron = '0 0 0 * ?' ) 每天零点执行一次定时任务上面0和星号之间少了一个星号,连打两个星号会被屏蔽
回答5:我倾向于用脚本去操作,但是mysql也提供了自身的存贮过程,其本质也是些简单的mysql语句去执行的。
我在网上查了 存储过程的优缺点,然后你想想脚本的优缺点,用哪种方式,自行选择吧!存储过程优缺点
回答6:1.mysql自己的任务调度Event2.java 应用层的任务调度,推荐QuartZ3.写脚本,Node,python均可,利用操作系统的任务调度
回答7:试一下quartz,不知道对你是不是有帮助
相关文章:
1. android 文件File删除问题2. docker内创建jenkins访问另一个容器下的服务器问题3. angular.js - angularjs 怎么封装 upload 上传4. macos - mac下docker如何设置代理5. javascript - vue生成一维码?求助!!!!!急6. 绝对定位和fied定位,键盘弹起对布局的影响7. angular.js - items.query is not a function这是怎么回事8. javascript - H5页面怎么查看console信息?9. nginx英文文档的WebSocket proxying部分没看太明白,麻烦推荐一点中文文章10. vim - docker中新的ubuntu12.04镜像,运行vi提示,找不到命名.
