Перемещение данных таблицы MySQL в новую таблицу по расписанию

0

Мне была назначена задача, которая может быть решена путем регулярного перемещения данных из одной таблицы в другую таблицу на сервере MySQL, и я немного перегружен, потому что я все еще новичок в этом и даже не знайте терминологию, над которой я должен смотреть. Я хочу перенести данные из более чем 30 дней в новую таблицу.

Поэтому в основном, я хотел бы, чтобы запрос, подобный приведенному ниже, запускался каждый день в определенное время.

INSERT INTO tableB (columnA, columnB, columnC)
SELECT (columnA, columnB, columnC)
FROM tableA
WHERE created_on < DATE_ADD(curdate(), INTERVAL -30 day);

DELETE FROM tableA
WHERE created_on < DATE_ADD(curdate(), INTERVAL -30 day);

COMMIT;

Итак, мой вопрос: как я могу это настроить?

Теги:

2 ответа

0
Лучший ответ

Решение было опубликовано как комментарий, но в любом случае мне нужно было использовать планировщик событий с чем-то вроде этого:

DELIMITER |

CREATE EVENT archive_old_messages
    ON SCHEDULE EVERY 1 DAY STARTS curdate() 
    DO BEGIN
        INSERT INTO tableB (columnA, columnB, columnC)
    SELECT (columnA, columnB, columnC)
    FROM tableA
    WHERE created_on < DATE_ADD(curdate(), INTERVAL -30 day);

    DELETE FROM tableA
    WHERE created_on < DATE_ADD(curdate(), INTERVAL -30 day);
        END |

DELIMITER ;
0

Я бы предпочел создать здесь SQL-задание и написать свою логику.

С уважением

Абдул

Ещё вопросы

Сообщество Overcoder
Наверх
Меню