Mysql下自动删除指定时间以前的记录的操作方法

作者:枫小秋 时间:2024-01-18 06:33:15 

关于Event:mysql5.1版本开始引进event概念。event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。

首先删除2天以前记录的SQL语句(webserver_monitormemory为表名,time为时间字段):


delete From webserver_monitormemory where DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day));

创建存储过程:


DELIMITER //
CREATE PROCEDURE autodel()
 -> BEGIN
 -> delete From webserver_monitormemory where DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day));
 -> END
 -> //
DELIMITER ;

创建事件,定制每天执行autodel的存储过程:


CREATE EVENT `event_auto_del_memorydata`  
ON SCHEDULE EVERY 1 DAY STARTS '2017-11-20 00:00:00'  
ON COMPLETION NOT PRESERVE ENABLE DO CALL autodel();

开启事件计划(调度器)4种方法。键值1或者ON表示开启;0或者OFF表示关闭:


SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = 1;
SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;

查看当前是否已开启事件计划(调度器)3种方法:


SHOW VARIABLES LIKE 'event_scheduler';
SELECT @@event_scheduler;
SHOW PROCESSLIST;

事件开启与关闭:


ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE ENABLE; //开启某事件
ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE DISABLE; //关闭某事件

这个是最简单但是也是最重要的,我们要手动的启动这个定时器,要不然是没法工作的。


ALTER EVENT event_time_clear_data ON
COMPLETION PRESERVE ENABLE;

另外,关闭定时器的代码是:


ALTER EVENT event_time_clear_data ON
COMPLETION PRESERVE DISABLE;

删除存储过程:


DROP PROCEDURE pro_clear_data;

删除Event:


DROP EVENT IF EXISTS event_time_clear_data1

总结

以上所述是小编给大家介绍的Mysql下自动删除指定时间以前的记录的操作方法网站的支持!

来源:https://www.2cto.com/database/201807/764138.html

标签:mysql,自动,删除
0
投稿

猜你喜欢

  • 聊一聊Vue.js过渡效果

    2024-05-13 09:07:51
  • Go语言使用Gob传输数据

    2023-08-06 05:12:28
  • 详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库

    2024-01-24 03:27:04
  • SQL临时表递归查询子信息并返回记录的代码

    2012-08-21 11:06:19
  • python中的脚本性能分析

    2023-10-31 00:37:22
  • Python元组常见操作示例

    2023-06-28 20:48:26
  • Go 结构体、数组、字典和 json 字符串的相互转换方法

    2024-05-05 09:26:42
  • python生成器/yield协程/gevent写简单的图片下载器功能示例

    2022-02-25 10:08:03
  • MySQL锁(表锁,行锁,共享锁,排它锁,间隙锁)使用详解

    2024-01-20 12:07:17
  • MySQL命令行中给表添加一个字段(字段名、是否为空、默认值)

    2024-01-16 12:47:36
  • python接口自动化使用requests库发送http请求

    2023-08-02 02:04:37
  • node实现socket链接与GPRS进行通信的方法

    2024-05-13 09:26:40
  • MySql索引和事务定义到使用全面涵盖

    2024-01-21 02:39:48
  • python pyqtgraph 保存图片到本地的实例

    2023-05-08 01:15:11
  • Python元组定义及集合的使用

    2023-11-22 12:32:03
  • Python使用multiprocessing实现一个最简单的分布式作业调度系统

    2022-06-14 07:43:33
  • Django REST 异常处理详解

    2023-06-19 02:40:34
  • SQLSERVER对索引的利用及非SARG运算符认识

    2024-01-14 23:24:34
  • Python3.遍历某文件夹提取特定文件名的实例

    2022-12-08 04:48:59
  • php session_start()出错原因分析及解决方法

    2024-06-07 15:44:29
  • asp之家 网络编程 m.aspxhome.com