定时清理mysql表数据

查看定时任务开关是否开启;

SHOW VARIABLES LIKE 'event_scheduler'
如果是off需要打开;
SET GLOBAL event_scheduler = ON

测试表:

CREATE TABLE `xc_log` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `create_time` datetime NOT NULL,
  `update_time` datetime DEFAULT NULL,
  `is_delete` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
写定时任务的事件:
复制代码
DELIMITER $$
DROP EVENT
IF EXISTS deleteXcLog ; CREATE EVENT deleteXcLog ON SCHEDULE EVERY 30 SECOND ON COMPLETION PRESERVE DO

BEGIN
    INSERT INTO xc_log (create_time) VALUES    (now()) ; 
    UPDATE xc_log SET update_time = now(), is_delete = 1 WHERE TO_DAYS(now()) - TO_DAYS(create_time) > 90 AND is_delete = 0 ; 
END$$

DELIMITER ;
复制代码

 

查看事件

SHOW EVENTS;

可以使用`LAST_EXECUTED`和`STATUS`列来查看事件的上一次执行时间和当前状态

select * from information_schema.EVENTS

 

posted @   草木物语  阅读(1019)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示