Задать вопрос
ImpAnonym
@ImpAnonym
Lorem ipsum dolor sit amet

Как в phpMyAdmin реализовать функцию удаления данных за прошлый месяц, которая будет выполнятся каждый 1 день месяца?

Как в phpMyAdmin реализовать функцию удаления данных за прошлый месяц, которая будет выполнятся каждый 1 день месяца?

Я в курсе, что есть планировщики заданий, где можно через PHP, например сделать удаление, но меня интересует реализация удаления именно через phpMyAdmin, если такая функция вообще есть.
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 2
bigton
@bigton
Web-программист
В MySQL есть планировщик https://www.mysqltutorial.org/mysql-triggers/worki...

Вам нужно включить его, например, через my.cnf, а потом в phpMyAdmin создать задание.
Ответ написан
Комментировать
sashkets
@sashkets
Прекратил отвечать после 24.02.2022
Вам нужно в mysql создать событие и запускать раз в месяц
Например у меня есть событие, которым я чищу бд openx, оставляя 3 последних месяца. Адаптируйте под себя

CREATE DEFINER=`root`@`localhost` EVENT `clear_old_stat` ON SCHEDULE EVERY 1 DAY STARTS '2020-09-02 16:43:42' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
DELETE FROM ox_data_intermediate_ad WHERE interval_end < DATE_SUB(CURDATE(), INTERVAL 3 MONTH);
OPTIMIZE TABLE ox_data_intermediate_ad;
DELETE FROM ox_data_summary_ad_hourly WHERE date_time < DATE_SUB(CURDATE(), INTERVAL 3 MONTH);
OPTIMIZE TABLE ox_data_summary_ad_hourly;
DELETE FROM ox_data_summary_ad_zone_assoc WHERE interval_end < DATE_SUB(CURDATE(), INTERVAL 3 MONTH);
OPTIMIZE TABLE ox_data_summary_ad_zone_assoc;
DELETE FROM ox_data_summary_zone_impression_history WHERE interval_end < DATE_SUB(CURDATE(), INTERVAL 3 MONTH);
OPTIMIZE TABLE ox_data_summary_zone_impression_history;
END
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы