一、event 状态
查看event是否开启
show variables like '%sche%';
开启event_scheduler
set global event_scheduler = on;
设置重启时事件还保持开启状态
windows
my.ini 配置文件
[mysqld]
event_scheduler = ON
linux
my.cnf 配置文件
[mysqld]
event_scheduler = ON
二、创建事件任务
DROP EVENT IF EXISTS `update_event`;
-- 如果原来存在该名字的任务计划则先删除
DELIMITER ;;
-- 分割
CREATE EVENT `update_event` ON SCHEDULE EVERY 1 DAY STARTS '2016-09-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO
-- CREATE EVENT `update_event`:创建一个`update_event`的事件
-- ON SCHEDULE EVERY 1 DAY STARTS '2016-09-01 00:00:00':每天执行一次,开始时间'2016-09-01 00:00:00'
-- ON COMPLETION [NOT] PRESERVE:当事件不会再发生时(删除/不删除)该事件
-- ENABLE DO:系统将执行这个事件
BEGIN -- 事件开始
-- 事件1
insert into xx(
xxx
)
SELECT
xxx
FROM
xxx;
-- 事件1
update
xx
set
xx=xx
where
xx=xx;
END;; -- 事件结束
DELIMITER ;
三、事件任务开关
开户事件任务
alter event update_event ON COMPLETION PRESERVE ENABLE;
关闭事件任务
alter event update_event ON COMPLETION PRESERVE DISABLE;
2016/9/21 14:02:34