MySql 事件任务

一、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

你可能感兴趣的:(MySql 事件任务)