ImpAnonym
@ImpAnonym
Lorem ipsum dolor sit amet.

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

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

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

Вам нужно включить его, например, через my.cnf, а потом в phpMyAdmin создать задание.
Ответ написан
sashkets
@sashkets
Даром получили — даром давайте (Матфея 10:8)
Вам нужно в 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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы