2017-05-03 4 views
0

Wir wollen einen Wert in unserer Tabelle ändern, wenn die aktuelle Zeit in unserem Fall Mitternacht (23:59:59) erreicht, aber wir sind unsicher, wie wir uns nähern sollen. Die Tabelle hat eine "startTime" und "endTime" und wir möchten die "endTime" auf "23:59:59" setzen, wenn die aktuelle Zeit Mitternacht erreicht, wenn in "startTime" in derselben Zeile ein Wert ist. Können wir gespeicherte Prozeduren oder Trigger verwenden, um diese Anforderung zu erfüllen? Oder ist das der falsche Weg, sich diesem zu nähern?MySQL - Tabellenwert ändern, wenn die aktuelle Zeit Mitternacht erreicht

Der Tabelle werden ständig neue Zeilen hinzugefügt, sodass sie ständig oder in Intervallen von einmal täglich auf die Änderung der Zeit achten sollte.

+1

Hat Google aufgehört zu arbeiten? https://dev.mysql.com/doc/refman/5.7/en/event-scheduler.html – Strawberry

Antwort

1

Sie möchten einen Scheduler ausführen, der dies tut.

Sie können keinen Trigger verknüpfen, da der Trigger nur auf eine durchgeführte Aktion reagiert. Wenn Sie nicht um Mitternacht einen Benutzer zur Ausführung der Aktion haben, hilft Ihnen das nicht weiter. Gespeicherte Prozeduren sind im Wesentlichen das Gleiche. Es muss vom Benutzer initiiert werden.

Sofern Sie keinen Scheduler ausführen, wird die Aktion für Sie ausgeführt. Ich glaube, das ist der gängigste Weg, es zu tun.

Windows hat einen eingebauten. Nginx oder so etwas, ich glaube, es heißt cron jobs?

Wie auch immer, einfach google scheduler/cronjobs guide/tutorials, sie sind viel besser darin zu erklären, als ich hier bin.

+0

Ich denke dieser Event Scheduler https://www.sitepoint.com/how-to-create-mysql-events/ kann Hilfe. Ansonsten kann auch ein Linux Cronjob helfen. –

Verwandte Themen