Выполните удаление записи perticular через некоторый интервал времени в mysql - PullRequest
0 голосов
/ 25 мая 2018
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 ]

0 голосов
/ 25 мая 2018

Я предполагаю, что вам не нужно событие каждую минуту.Просто определите представление, чтобы отфильтровать ненужные записи:

create view v_lead_master as
    select lm.*
    from lead_master lm
    where lm.lname not like '%Test%';

Затем запланируйте задание или событие каждый день на медленный период, чтобы удалить нужные вам строки.Ваше приложение должно использовать вид.Ваше тестирование должно использовать базовую таблицу.

0 голосов
/ 27 июня 2018

Я наконец сделал это с помощью cron.Я создал контроллер, который вызывает функцию модели, содержит запрос на удаление записи.и установите задание cron, которое вызывает контроллер через определенный интервал времени.

0 голосов
/ 25 мая 2018

Зайдите в файл my.ini и добавьте эту строку, скорее всего, это проблема.

event_scheduler = on

Перезапустите mysql. Очевидно, вы даже можете установить его на лету

...