zoukankan      html  css  js  c++  java
  • mysql 定期删除表中无用数据

    MySQL5.1.x版本中引入了一项新特性EVENT,定期执行某些事物,这可以帮助我们实现定期执行某个小功能,不在依赖代码去实现。

    我现在有一张表,这张表中的数据有个特点,每天都会有大量数据插入,但是昨天的数据已经不存在一点价值。现在需要在mysql中创建

    一个定时器,每天删除昨天之前的数据。

    首选查看mysql事件开启情况

    SHOW VARIABLES LIKE 'event_scheduler';  

    默认情况下是关闭的,需要我们去打

    SET GLOBAL event_scheduler = ON;  

    创建定时器

    CREATE EVENT kbk_del  
    ON SCHEDULE EVERY 1 DAY   
    DO DELETE FROM  dynamic_place WHERE DATE_SUB(CURDATE(), INTERVAL 2 DAY) <= DATE(gmt_datetime);

    其中“kbk_del”为定时器的名字,“EVERY 1 DAY” 为每天多执行

    DELETE FROM  dynamic_place WHERE DATE_SUB(CURDATE(), INTERVAL 2 DAY) <= DATE(gmt_datetime);”就是sql语句 删除两天前数据

    查看你所创建地定时事件

    SELECT * FROM information_schema.events

    删除定时器

    DROP event kbk_del






  • 相关阅读:
    mybatis-generator.xml
    模板下载
    任务导出
    订单导出
    创建指定日期任务
    字符串的知识
    数组元素反转
    JVM 中知识
    Redis介绍
    JsonP
  • 原文地址:https://www.cnblogs.com/prettrywork/p/7892315.html
Copyright © 2011-2022 走看看