场景,表中的数据有开始时间和终止时间,想要在开始和结束的时间段内修改状态值。

利用Mysql定时器完成以上需求
1、定义需要更新的表
在这里插入图片描述
新建一条函数update_status

BEGIN
	#Routine body goes here...

UPDATE update_form SET `status` = 
CASE WHEN NOW() < apply_start_time THEN 0
		 WHEN apply_start_time < NOW() AND apply_end_time >NOW() THEN 1
			WHEN NOW() > apply_end_time THEN 2
			END;


END

在这里插入图片描述
2、然后新建一个事件调用上面的函数
在这里插入图片描述
设定计划运行
在这里插入图片描述
最后记得开启定时任务
SET GLOBAL event_scheduler = 1;

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐