Я не знаю, как использовать интерфейс PHPMyAdmin для создания событий, однако, это можно сделать в «чистом виде» SQL:
CREATE EVENT IF NOT EXISTS your_event_name
ON SCHEDULE EVERY 5 MINUTE
DO UPDATE table SET x=0;
О части ON SCHEDULE EVERY 5 MINUTE
, это будет выполнить событие сейчас, а затем каждые 5 минут, навсегда.
Если вы хотите отложить выполнение, вы можете добавить STARTS
после оператора EVERY
:
-- This will delay the first execution in 1 hour
ON SCHEDULE EVERY 5 MINUTE STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR
You можно определить, когда СОБЫТИЕ должно перестать работать, используя ENDS
:
-- This will end the event in 1 week
ON SCHEDULE EVERY 5 MINUTE ENDS CURRENT_TIMESTAMP + INTERVAL 1 WEEK
Конечно, вы можете комбинировать STARTS
и ENDS
-- This will end the event in 1 week
ON SCHEDULE
EVERY 5 MINUTE -- Play every 5 minutes
STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR -- Start in 1 hour
ENDS CURRENT_TIMESTAMP + INTERVAL 1 WEEK -- End in 1 week
Если у вас больше 1 запрос для выполнения в событии, вам нужно обернуть инструкции внутри BEGIN
/ END
:
DELIMITER $$
CREATE EVENT IF NOT EXISTS your_event_name
ON SCHEDULE EVERY 5 MINUTE
DO
BEGIN
UPDATE table1 SET x=0;
UPDATE table2 SET foo='bar';
END $$
DELIMITER ;
Для получения дополнительной информации обратитесь к документации