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