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 ;

浙公网安备 33010602011771号