mysql 事件使用

1、数据库开启事件

--查看事件是否开启
show VARIABLES like 'event%';  
--开启事件
SET GLOBAL event_scheduler = 1;
--关闭事件
SET GLOBAL event_scheduler = 0;

2、创建事件

--创建事件执行存储过程,
CREATE EVENT IF NOT EXISTS update_status_even
--必选,用于定义执行的时间和时间间隔
ON SCHEDULE EVERY 1 DAY STARTS '2022-11-01 00:10:00'
--可选,用于定义事件是否循环执行,即是一次执行还是永久执行,默认为一次执行,即 NOT PRESERVE
ON COMPLETION  PRESERVE  COMMENT '每天凌晨12:10点执行一次'
--DO 后面是要执行的SQL,可以是存储过程,也能是其他语句
DO CALL update_status() ;

--100秒执行一次
CREATE EVENT IF NOT EXISTS update_status_even
ON SCHEDULE EVERY '100' SECOND STARTS '2022-11-29 10:01:00'
ON COMPLETION  PRESERVE COMMENT '每隔100秒执行一次更新'
DO CALL update_status(); 

3、删除事件

--删除事件
DROP EVENT IF EXISTS e_test;

4、查看事件

--查看系统中所有的事件
SHOW EVENTS;
--查看事件的具体信息  EVENT_SCHEMA= 所在的数据库库名
SELECT * FROM information_schema.events WHERE EVENT_SCHEMA='db_name1' ; 

5、开启/关闭事件

--开启事件
alter event 事件名 on completion preserve enable;
--关闭事件
alter event 事件名 on completion preserve disable; 

参考:MySQL:简述MySQL中的事件Event-爱码网

猜你喜欢

转载自blog.csdn.net/qq_37570710/article/details/128098536