1.需求描述

   每天0时定时调用存储过程

2.创建定时任务

方式一

SELECT @@global.sql_mode;

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); ##当前session变量生效

-- 创建每天0时执行一次的定时任务,调用存储过程

CREATE DEFINER=`root`@`localhost` EVENT IF NOT EXISTS event_call_proc_modify_primary_key_value

-- 每天0时执行一次

-- ON SCHEDULE EVERY 1 DAY STARTS TIMESTAMP(CURRENT_DATE,'00:00:00')

-- 每3秒执行一次

ON SCHEDULE EVERY 3 SECOND STARTS TIMESTAMP(CURRENT_DATE,'00:00:00')

ON COMPLETION PRESERVE ENABLE

DO

CALL proc_modify_primary_key_value('primary_key_generator_table','value','1','name','PK_CUSTOMER_ID')

-----------------------------------------------------------------------------------------------------------

方式二

-- 创建每天0时执行一次的定时任务,调用存储过程

CREATE DEFINER=`root`@`localhost` EVENT IF NOT EXISTS event_call_proc_modify_primary_key_value

-- 每天0时执行一次

-- ON SCHEDULE EVERY 1 DAY STARTS TIMESTAMP(CURRENT_DATE,'00:00:00')

-- 每3秒执行一次

ON SCHEDULE EVERY 3 SECOND STARTS TIMESTAMP(CURRENT_DATE,'00:00:00')

ON COMPLETION PRESERVE

DO

CALL proc_modify_primary_key_value('primary_key_generator_table','value','1','name','PK_CUSTOMER_ID')

3.开启定时任务

方式一

-- 开启定时器

SET GLOBAL event_scheduler=1;

-----------------------------------------------------------------------------------------------------------

方式二

-- 开启定时器

SET GLOBAL event_scheduler=1;

-- 开启事件任务

ALTER EVENT event_call_proc_modify_primary_key_value ENABLE;

4.查看定时任务

 -- 查看定时任务

SELECT * FROM information_schema.`EVENTS`;

5.删除定时任务

-- 删除定时任务

DROP EVENT event_call_proc_modify_primary_key_value;

MySql中创建定时任务_MySql