先是确保mysql的定时任务是开启的
SET GLOBAL event_scheduler = 1;
---或我们可以在配置my.cnf文件 中加上 event_scheduler = 1
或
SET GLOBAL event_scheduler = ON;
关闭的话就设置为0或off
一 :创建存储过程
DELITMITER ?? # 将结束符置为??,因为在多sql的存储过程中会用到;,为了不让其终止,先将结束符换掉
CREATE PROCEDURE copy_to_new()
BEGIN #存储过程开始
START TRANSACTION; #开启事务
INSERT INTO table_copy SELECT * from table_main where time < 'xxx' and time > 'xxx';
DELETE FROM table_main where time < 'xxx' and time > 'xxx';
COMMIT;
END ?? #存储过程结束
DELIMITER ; #将结束符置为;
--call copy_to_new 可以调用这个存储过程
--drop procedure copy_to_new 删除
二:创建event
CREATE EVENT day_event # 创建event
ON SCHEDULE EVERY 1 DAY STARTS TIMESTAMP '2020-01-01 00:00:00' #从这天开始一天执行一次
DO CALL copy_to_new() # 执行内容为调用这个