Mysql 每天凌晨对数据库中过期的旅行团设置

本文介绍如何使用Mysql事件调度器,通过设置全局变量和创建事件,实现每日凌晨自动检查数据库中的group表,更新激活状态。适用于需要定时任务处理的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mysql事件调度器

show variables like '%event_scheduler%';
set global event_scheduler=1;
/*每天凌晨1点对数据库group表内数据项进行检查,若start_time小于当天日期,则置状态为0,表示旅游团已关闭*/
CREATE EVENT IF NOT EXISTS update_group_activated   
    ON SCHEDULE EVERY 1 DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 1 HOUR)   
    ON COMPLETION PRESERVE ENABLE   
    DO UPDATE `group` SET `activate`='0' WHERE `activated`='1' AND DATE_ADD(CURDATE(), INTERVAL 1 DAY) > `start_time`;
/*例如start_time为2018-12-15 08:00,要求当天及之后不能再访问旅行团,curdate()是2018-12-15,date_add之后就大于start_time,但是会小于2018-12-16的日期*/
/*此处的start_time为带时间的date,不能只是日期*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值