mysql使用Navicat创建每5秒执行一次sql语句事件
一、查询事件调度器event scheduler是否开启show variables like 'event_scheduler'二、查询结果1、如果为on,说明事件调度器已经开启2、如果显示OFF,则输入以下语句,开启事件调度器set global event_scheduler = on;三、设置事件开机自动启动在重启电脑后event_scheduler会自动关闭,所以我们要设置调度器随着my
·
一、查询事件调度器event scheduler是否开启
show variables like 'event_scheduler'
二、查询结果
1、如果为on,说明事件调度器已经开启
2、如果显示OFF,则输入以下语句,开启事件调度器
set global event_scheduler = on;
三、设置事件开机自动启动
在重启电脑后event_scheduler会自动关闭,所以我们要设置调度器随着mysql的启动而启动,需要在my.ini配置文件的[mysqld]部分加上
event_scheduler=ON
四、创建event:每天自动清空表
CREATE EVENT
IF
NOT EXISTS updlogStatus
ON SCHEDULE EVERY 5 SECOND
ON COMPLETION PRESERVE
DO
UPDATE cmd_log log
SET log.STATUS = '19'
WHERE
log.time < SUBDATE( now(), INTERVAL 15 SECOND )
AND log.STATUS = '15'
#注释:
ON SCHEDULE EVERY 5 SECOND 按计划每5秒执行一次该事件
ON COMPLETION PRESERVE 指定创建完成后即启用,否则需手动启动
UPDATE cmd_log log
SET log.STATUS = '19'
WHERE
log.time < SUBDATE( now(), INTERVAL 15 SECOND )
AND log.STATUS = '15' 自己的业务需求我是修改时间小于15秒之前的log日志为15的改成19
DROP EVENT IF EXISTS e_delete_upvote;
CREATE EVENT e_delete_upvote
ON SCHEDULE EVERY 1 day STARTS date_add(concat(current_date(), ' 00:00:00'), interval 0 second)
ON COMPLETION PRESERVE ENABLE
DO
TRUNCATE TABLE dreamland.upvote;
#注释:
ON SCHEDULE EVERY 1 day 指定循环间隔为每天执行
STARTS date_add(concat(current_date(), ' 23:59:00'), interval 0 second) 指定运行时间为23:59:00
ON COMPLETION PRESERVE ENABLE 指定创建完成后即启用,否则需手动启动
在计划里面可以修改清空数据的间隔时间,可以用来测试使用。
五、手动关闭事件
ALTER EVENT e_delete_upvote DISABLE;
六、手动设置该事件为可用
ALTER EVENT e_delete_upvote ENABLE;
七、查看已有的定时事件任务
SHOW EVENTS;
八、删除事件
DROP EVENT e_delete_upvote;

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)