2017-07-03 5 views
-1

Thema Tabelle: id, name, duedate, Startzeit, Dauer, StatusMysql: Schreiben Sie Trigger auf Wert einer Tabellenspalte und Aktualisierung derselben und einer anderen Tabelle

Ich brauche den Status dieser Tabelle abgeschlossen zu ändern, wenn Startzeit + Dauer erreicht die aktuelle Zeit. Falls der Status aktualisiert wird, muss ich den Status einer anderen Spalte ebenfalls ändern.

+0

Was hast du probiert? Zeigen Sie Ihren Code. SO ist ** nicht ** ein Code-Schreibdienst. –

+0

Ich muss wissen, ist dies in Mysql möglich. Wird Auslöser sein, die beste Lösung sein. Ich bin nicht in der Lage zu verstehen, wie kann ich Auslöser basierend auf Spaltenwert in Bezug auf die aktuelle Zeit verwenden. – gaurav

Antwort

0

Ich muss den Status dieser Tabelle auf abgeschlossen ändern, wenn Startzeit + Dauer aktuelle Zeit erreicht.

Nein, die Triggerfunktion kann dies nicht unterstützen. Als Alternative können Sie eine Hintergrundanwendung erstellen, die einen Thread ausführt, der Ihre Topic-Tabelle regelmäßig aktualisiert, etwa jede Minute.
Sie diese SQL-Anweisung in Sie Hintergrund app verwenden oder "Service":

update Topic set status = 'completed' where (starttime+duration)<=now() and not status = 'completed'; 

Im Fall Status aktualisiert wird, muss ich eine andere Spalte Status als komplett ändern.

Dieser kann mit der Trigger-Funktion unterstützt werden, wenn ich es nicht falsch verstanden habe.

+0

Danke. Wenn ich eine der Aufgaben mit dem Code und nicht mit Triggern durchführe, dann ist es besser, alle Aufgaben mit dem Code zu erledigen. – gaurav

+0

Ich empfehle, die Trigger-Funktion so viel wie möglich zu verwenden, wenn es anwendbar ist, weil es besonders während des Debuggens viel bequemer ist. – suguspnk

Verwandte Themen