首页  >  问答  >  正文

java - mysql隔天自动删除数据

mysql怎么在规定时间之后自动删除数据

我在用java做一个待办事项,用mysql做数据库
想实现第二天自动删除已完成的行

补充

根据我设置的时间戳跟当前时间进行比较,再进行删除
因为我是用se,数据库用时才开的

很抱歉,没有写清楚问题。

过去多啦不再A梦过去多啦不再A梦2682 天前1101

全部回复(7)我来回复

  • 迷茫

    迷茫2017-06-16 09:21:28

    可以给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;  

    回复
    0
  • ringa_lee

    ringa_lee2017-06-16 09:21:28

    这个逻辑交给java处理更好。

    回复
    0
  • 高洛峰

    高洛峰2017-06-16 09:21:28

    使用Java定时任务.

    import java.util.Timer;
    import java.util.TimerTask;

    回复
    0
  • PHP中文网

    PHP中文网2017-06-16 09:21:28

    用java解决
    @schedule(cron = "0 0 0 * ?" ) 每天零点执行一次定时任务
    上面0和星号之间少了一个星号,连打两个星号会被屏蔽

    回复
    0
  • 世界只因有你

    世界只因有你2017-06-16 09:21:28

    我倾向于用脚本去操作,但是mysql也提供了自身的存贮过程,其本质也是些简单的mysql语句去执行的。

    我在网上查了 存储过程的优缺点,然后你想想脚本的优缺点,用哪种方式,自行选择吧!
    存储过程优缺点

    回复
    0
  • PHP中文网

    PHP中文网2017-06-16 09:21:28

    1.mysql自己的任务调度Event
    2.java 应用层的任务调度,推荐QuartZ
    3.写脚本,Node,python均可,利用操作系统的任务调度

    回复
    0
  • 怪我咯

    怪我咯2017-06-16 09:21:28

    试一下quartz,不知道对你是不是有帮助

    回复
    0
  • 取消回复