如何创建MySQL事件以每日自动更新剩余天数字段
实现每日更新文档剩余过期天数的MySQL事件
需求:每日通过计算当前日期与过期日期的差值,更新documents_recieved表中的days_remaining字段。
实现代码
CREATE EVENT check_expire ON SCHEDULE EVERY 1 DAY STARTS '2023-10-25' DO UPDATE documents_recieved SET days_remaining = (DATEDIFF(expiration_date, CURRENT_DATE));
注意事项
- 确保MySQL事件调度器处于开启状态,可通过执行
SET GLOBAL event_scheduler = ON;开启(需拥有超级权限) DATEDIFF(expiration_date, CURRENT_DATE)的计算逻辑:若过期日期晚于当前日期,返回正整数;若已过期,返回负整数;日期相同时返回0- 可根据实际业务需求调整事件的起始日期
STARTS '2023-10-25' - 执行该事件的数据库用户需具备
EVENT权限,以及对documents_recieved表的UPDATE权限
内容的提问来源于stack exchange,提问作者ali
相关产品推荐
相关产品推荐

