为了便于测试环境的数据合并,之前每次测试都手动执行sql维护数据;后面知道可以使用mysql的定时任务功能
1.首先开启event_scheduler调度事件
show variables like '%sche%';
使用root用户开启event_scheduler;
set global event_scheduler =1;
2.创建存储过程 (需要执行的sql集合)
CREATE PROCEDURE merge_test_data()
BEGIN
-- 需要执行的sql集合
delete from ....
INSERT INTO....
SELECT * from ....
END;
3.创建调度事件
CREATE EVENT `event_merge_data`
ON SCHEDULE EVERY '2' MINUTE
ON COMPLETION PRESERVE
ENABLE
DO
call merge_test_data();
4. 开启,关闭,删除
-- 查看:
SHOW EVENTS;
-- 开启调度事件:
ALTER EVENT event_merge_data COMPLETION PRESERVE ENABLE;
-- 关闭调度事件:
ALTER EVENT event_merge_data COMPLETION PRESERVE DISABLE;
-- 删除调度事件:
DROP EVENT IF EXISTS event_merge_data;