Выполните удаление записи perticular через некоторый интервал времени в mysql
DROP EVENT `deleteTestEntries`;
CREATE DEFINER=`root`@`localhost` EVENT `deleteTestEntries`
ON SCHEDULE EVERY 1 MINUTE
STARTS '2018-05-25 18:17:01'
ON COMPLETION NOT PRESERVE ENABLE DO
DELETE FROM lead_master WHERE lead_master.lname LIKE '%Test%'
Что не так в вышеуказанном событии. Он был создан без ошибок, но не выполняет никаких действий. Я просто хочу удалить записи из моей таблицы lead_master, где lname - "Test"
3 ответа
Я наконец сделал это с помощью cron. Я создал контроллер, который вызывает функцию модели, содержит запрос на удаление записи. и установите задание cron, которое вызывает контроллер через определенный интервал времени.
Зайдите в файл my.ini и добавьте эту строку, скорее всего, это проблема.
event_scheduler = on
Перезапустите mysql. Видимо, вы даже можете установить его на лету
Я предполагаю, что вам не нужно событие каждую минуту. Просто определите представление, чтобы отфильтровать записи, которые вам не нужны:
create view v_lead_master as
select lm.*
from lead_master lm
where lm.lname not like '%Test%';
Затем запланируйте задание или событие каждый день в медленном периоде, чтобы удалить нужные вам строки. Ваше приложение должно использовать вид. Ваше тестирование должно использовать базовую таблицу.