Задержка выполнения триггера/процедуры MySQL
есть ли достойный способ отложить выполнение триггера mysql?
WHILE @condition = 0
sleep for awhile
insert into some_table values(NEW.value1, NEW.value2);
2 ответов
начиная с MySQL 5.0.12, вы можете сделать это:
SELECT SLEEP(<seconds>);
параметр секунд может быть в долю секунды, как .5.
DO SLEEP(<seconds>);
лучше. Вы не можете просто бежать SELECT
инструкции внутри триггеров.
Если ты ... --8-->действительно хотите сделать это, вам нужно сделать это, как здесь:
SET @nothing = (SELECT SLEEP(<seconds>));
но я рекомендую использовать DO
. И не забывайте, что триггер-это всего лишь один оператор по умолчанию. Если у вас есть более 1 оператора в триггере, вам нужно использовать BEGIN
/END
:
BEGIN
DO SLEEP(<seconds>);
UPDATE ...;
END