2016-04-07 5 views
1

Ich versuche, ein Ereignis zu erstellen, das mit einer zufälligen Zeit zwischen 1 und 45 Minuten wiederholt wird. Das ist, was ich bis jetzt habe:MySQL - Wiederkehrendes Ereignis mit zufälliger Zeit

CREATE EVENT `user_creator` ON SCHEDULE EVERY (1 + RAND() *45) MINUTE 
DO 
    INSERT INTO userTable (firstName, lastName) VALUES ('John', 'Smith') 

Es führt gerade fein aus, jedoch wird es die Zeit zufällig nicht zufällig, sobald es ausgeführt worden ist. Mit anderen Worten, es bleibt die Zufallszahl, die bei der ersten Ausführung zugewiesen wurde.

+0

Der MySQL Scheduler wertet den Ausdruck zum Zeitpunkt der Erstellung aus und verwendet diesen als Intervall. – rkosegi

+0

event_scheduler führt Aufgaben in jedem Intervall genau wie ein Timer aus – gdreamlend

Antwort

0

Ich konnte keine Möglichkeit finden, die Änderung in einem Abschlussblock zu speichern, also habe ich einfach nur in die Aktion eingefügt.

delimiter | 

CREATE EVENT `user_creator` ON SCHEDULE EVERY (1 + RAND() *45) MINUTE 

DO 

    BEGIN 

    INSERT INTO userTable (firstName,lastName) VALUES ('John','Smith'); 

    ALTER EVENT `user_creator` ON SCHEDULE EVERY (1 + RAND() *45) MINUTE; 

END | 


delimiter ;