MySQL-事件EVENT-时间定时器

应用场景:一般用于在某一特定的时间点,触发相关的SQL语句或存储过程。

 

查看定时器开启状态:

SHOW VARIABLES LIKE 'event_scheduler';

开启定时器:0为OFF,1为ON

SET GLOBAL event_scheduler = 1;

关闭定时器:

SET GLOBAL event_scheduler = 0;

 

创建事件语法:

CREATE EVENT [IF NOT EXISTS] event_name

ON SCHEDULE schedule

[ON COMPLETION [NOT] PRESERVE]

[ENABLE | DISABLE | DISABLE ON SLAVE]

[COMMENT 'comment']

DO sql_statement;

 

注:

schedule:计划任务,有两种设计方式:

1.AT 时间戳,完成单次的计划任务

2.EVERY 时间(单位)[STARTS 时间戳] [ENDS 时间戳],可完成重复的计划任务

[ON COMPLETION [NOT] PRESERVE]

默认ON COMPLETION NOT PRESERVE 即计划任务执行完毕后自动drop该事件

[ENABLE | DISABLE]

事件的状态,Enable表示系统将执行这个事件

[COMMENT 'comment']

注释

DO sql_statement

该event需要执行的SQL语句或存储过程

 

示例:

delimiter //
-- 定义一个事件,每隔一分钟,往member表中插入一条记录
CREATE EVENT IF NOT EXISTS event_insert_member
ON SCHEDULE EVERY 1 MINUTE
ON COMPLETION PRESERVE ENABLE DO
BEGIN
INSERT INTO member(mobilePhone,pwd) VALUES('18852145214','123');
END//
delimiter ;

 

 

 

posted @ 2021-12-14 17:27  Hephia  阅读(251)  评论(0)    收藏  举报