查找每X天将Y天以前的数据从表A移动到历史表B,然后从早于Z天的历史表B中删除数据。
只是探索不同的方法来实现这一点。因此,任何建议都将不胜感激。
变量示例
X-7天
Y-60天
Z-365天
谢谢你
最佳答案
CREATE PROCEDURE prc_clean_tables (Y INT, Z INT)
BEGIN
BEGIN TRANSACTION;
DECLARE _now DATETIME;
SET _now := NOW();
INSERT
INTO b
SELECT *
FROM a
WHERE timestamp < _now - INTERVAL Y DAY;
FOR UPDATE;
DELETE
FROM a
WHERE timestamp < _now - INTERVAL Y DAY;
DELETE
FROM b
WHERE timestamp < _now - INTERVAL Z DAY;
COMMIT;
END
关于sql - 有什么方法可以将超过“Y”天的数据移动到MySQL中的存档/历史记录表中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/808039/