Mysql下自动删除指定时间以前的记录的操作方法
作者:枫小秋 发布时间:2024-01-18 06:33:15
标签:mysql,自动,删除
关于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
0
投稿
猜你喜欢
- merge()1.常规合并①方法1指定一个参照列,以该列为准,合并其他列。import pandas as pddf1 = pd.DataF
- Airtest全称AirtestProject,是由网易游戏推出的一款自动化测试框架,在软件测试的时候使用到了该框架。这里记录一下安装、使用
- 加入CDC的这段日子里,工作中积累的小心得都密密麻麻的收在册子里。恰逢近期的校园招聘正如火如荼的展开着,借此机会,我把这一些不太成熟的小想法
- JSON可谓是JavaScript的亮点,它能用优雅简练的代码实现Object和Array的初始化。同样是基于文本的数据定义,它比符号分隔更
- parentNode和parentElement功能一样,childNodes和children功能一样。但是parentNode和chil
- 概述WSGI接口包含两方面:server/gateway 及 application/framework。server调用由applicat
- Fibonacci斐波那契数列,很简单,就是一个递归嘛,学任何编程语言可能都会做一下这个。最近在玩Python,在粗略的看了一下Learni
- 今儿继续做项目,学习了Django的forms生成前端的代码。forms.pyclass SignupForm(forms.Form): &
- 前提条件,两台服务器都安装了mysql相同的版本,数据库名也一样,最好数据都是尽量的差不多。mysql服务器端 192.168.0.1: 新
- 1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建
- os模块下有两个函数:os.walk()os.listdir()# -*- coding: utf-8 -*- &
- Limit语法:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offsetL
- 无论是 DAO 还是 ADO 都有两种从 Recordset 对象中查询记录的方法: Find 方法和 Seek 方法。在这两种方法中可以让
- 不使用int()函数的情况下把字符串转换为数字,如把字符串"12345"转换为数字12345。方法一:利用str函数既然
- ul: unordered lists ol: ordered lists li: Listsol 有序列表:<ol>
- 在介绍ensure内部的实现之前,让我们先来看看其功能: ensure({ html: "popup.html", ja
- 1、在MySQL中要修改全局(global)变量,有两种方法:方法一,修改my.ini配置文件,如果要设置全局变量最简单的方式是在my.in
- 本文实例讲述了js实现九宫格图片半透明渐显特效的方法。分享给大家供大家参考。具体实现方法如下:<html><title&g
- 前提环境准备python3+pillow+pyautogui先提前安装好python3以及pillow和pyautogui模块这里介绍一下模
- 后边要做一个微信小程序,并要能获取用户微信绑定的手机号码。而小程序开发文档上边提供的获取手机号码的接口(getPhoneNumber())返