MySQL 数据库使用事件调度器实现每日定时任务

 

 

在MySQL数据库中实现定时任务,需要用到 事件调度器的功能

 

1、在 MySQL数据库中启用事件调度器功能,执行SQL如下

-- 启用事件调度器
SET GLOBAL event_scheduler = ON;

 

2、创建 一个每日定时任务,SQL如下

-- 创建每日定时任务
DELIMITER $$
CREATE EVENT IF NOT EXISTS daily_cleanup
ON SCHEDULE EVERY 1 DAY
STARTS DATE_ADD(CURDATE(), INTERVAL 1 DAY)
DO
BEGIN
    -- 删除User表今天之前的数据
    DELETE FROM User WHERE created_at < CURDATE();
END$$
DELIMITER ;

 

 

3、修改定时任务为每天 0点30分执行,SQL 语句如下

-- 修改事件调度计划
ALTER EVENT daily_cleanup
ON SCHEDULE EVERY 1 DAY
STARTS DATE_ADD(CURDATE(), INTERVAL 1 DAY) + INTERVAL 30 MINUTE
DO
BEGIN
    -- 删除 user 表今天之前的数据
    DELETE FROM user WHERE created_at < CURDATE();
    
    -- 删除 order 表今天之前的数据
    DELETE FROM order WHERE created_at < CURDATE();
    
    -- 删除 product 表今天之前的数据
    DELETE FROM product WHERE created_at < CURDATE();
END;

 

4、其他更多功能和需求可以自行扩展实现。

posted @ 2025-12-16 17:54  DotNet码农  阅读(8)  评论(0)    收藏  举报
/*粒子线条,鼠标移动会以鼠标为中心吸附的特效*/