Esiste un modo decente per ritardare l'esecuzione del trigger mysql?Ritardo di esecuzione trigger/procedura MySQL
WHILE @condition = 0
sleep for awhile
insert into some_table values(NEW.value1, NEW.value2);
Esiste un modo decente per ritardare l'esecuzione del trigger mysql?Ritardo di esecuzione trigger/procedura MySQL
WHILE @condition = 0
sleep for awhile
insert into some_table values(NEW.value1, NEW.value2);
Dal MySQL 5.0.12, si può fare questo:
SELECT SLEEP(<seconds>);
Il parametro secondi può essere in una frazione di secondo, come .5.
DO SLEEP(<seconds>);
è migliore. Non puoi semplicemente eseguire le istruzioni SELECT
all'interno dei trigger. Se davvero vuole fare questo è necessario fare così qui:
SET @nothing = (SELECT SLEEP(<seconds>));
ma vi consiglio di usare DO
. E non dimenticare che un trigger è solo una singola istruzione per impostazione predefinita. Se si dispone di più di 1 istruzione nel grilletto è necessario utilizzare BEGIN
/END
:
BEGIN
DO SLEEP(<seconds>);
UPDATE ...;
END
Perfetto! Molte grazie. – Ragnar
Se non si desidera un set di risultati, è possibile eseguire 'DO SLEEP (n)'. –