7
有沒有一種體面的方式來延遲執行mysql觸發器?MySQL觸發器/程序執行延遲
WHILE @condition = 0
sleep for awhile
insert into some_table values(NEW.value1, NEW.value2);
有沒有一種體面的方式來延遲執行mysql觸發器?MySQL觸發器/程序執行延遲
WHILE @condition = 0
sleep for awhile
insert into some_table values(NEW.value1, NEW.value2);
從MySQL 5.0.12,你可以這樣做:
SELECT SLEEP(<seconds>);
seconds參數可以像.5的幾分之一秒。
DO SLEEP(<seconds>);
更好。你不能在觸發器中運行SELECT
語句。 如果你真的要做到這一點,你需要做這樣的位置:
SET @nothing = (SELECT SLEEP(<seconds>));
但我建議使用DO
。不要忘記,觸發器只是默認情況下的單個語句。如果你在你的觸發更多的則1條語句你需要使用BEGIN
/END
:
BEGIN
DO SLEEP(<seconds>);
UPDATE ...;
END
完美!非常感謝。 – Ragnar 2009-06-08 14:56:53