CREATE TABLE BROWSING_RECORD_HISTORY LIKE BROWSING_RECORD;
CREATE TABLE REQUEST_DETAILS_HISTORY LIKE REQUEST_DETAILS;
-- 2 新建存储过程,查询30天的数据并归档进新数据库,然后把30天前的旧数据从旧表里删除
DELIMITER $
DROP PROCEDURE IF EXISTS SP_BRH_RDH$
CREATE PROCEDURE SP_BRH_RDH()
BEGIN
INSERT INTO BROWSING_RECORD_HISTORY SELECT * FROM BROWSING_RECORD WHERE OPERATION_TIME < NOW() - INTERVAL 30 DAY;
DELETE FROM BROWSING_RECORD WHERE OPERATION_TIME < NOW() - INTERVAL 30 DAY;
INSERT INTO REQUEST_DETAILS_HISTORY SELECT * FROM REQUEST_DETAILS WHERE OPERATION_TIME < NOW() - INTERVAL 30 DAY;
DELETE FROM REQUEST_DETAILS WHERE OPERATION_TIME < NOW() - INTERVAL 30 DAY;
END $
DELIMITER ;
-- 3 创建EVENT,每30天晚上凌晨00:00定时执行上面的存储过程
CREATE EVENT IF NOT EXISTS EVENT_TEMP
ON SCHEDULE EVERY 30 DAY
ON COMPLETION PRESERVE
DO CALL SP_BRH_RDH();