¿Hay alguna forma decente de retrasar la ejecución del disparador mysql?Retraso en la ejecución del disparador/procedimiento MySQL
WHILE @condition = 0
sleep for awhile
insert into some_table values(NEW.value1, NEW.value2);
¿Hay alguna forma decente de retrasar la ejecución del disparador mysql?Retraso en la ejecución del disparador/procedimiento MySQL
WHILE @condition = 0
sleep for awhile
insert into some_table values(NEW.value1, NEW.value2);
Desde MySQL 5.0.12, se puede hacer esto:
SELECT SLEEP(<seconds>);
El parámetro puede ser segundo en una fracción de segundo, como 0,5.
DO SLEEP(<seconds>);
es mejor. No puede simplemente ejecutar SELECT
declaraciones dentro de desencadenantes. Si realmente quiere hacer esto es necesario hacerlo como aquí:
SET @nothing = (SELECT SLEEP(<seconds>));
pero recomiendo utilizar DO
. Y no olvide que un disparador es solo una declaración por defecto. Si usted tiene más de 1 declaración en su disparador tiene que utilizar BEGIN
/END
:
BEGIN
DO SLEEP(<seconds>);
UPDATE ...;
END
perfecto! Muchas gracias. – Ragnar
Si no desea un conjunto de resultados, puede hacer 'DO SLEEP (n)' en su lugar. –