Frage von derhierxD, 22

SQL "Wenn sich der Wert ändert"?

Hallo,

momentan arbeite ich an einem Freunde system.

Alle Freundschaftsanfragen befinden sich in einer Tabelle mit folgenden Spalten

user_x (Der, der die Anfrage versendet hat)

user_y (Der, der die Anfrage erhält)

beziehung (0 = Anfrage steht aus / 1 = befreundet)

send_notification (relativ unwichtig, wenn der Nutzer eine Notification über den Browser erhalten hat, welchselt der wert auf 1, aber momentan unwichtig für die Fragestellung)

Nun also möchte ich eine Banchrichtigung versenden, wenn user_y die Anfrage akzeptiert hat. Sobald sich also wert 0 auf 1 ändert (beziehung), soll der nutzer dazu benachrichtigt werden. die änderung durch den SQL befehlt UPDATE ist ja jetzt keine große sache aber wie realisiere ich eine Ressourcen-sparende Abfrage, das man eine Nachricht empfängt sobald sich der wert ändert? oder habe ich gerade nur falsche gedankengänge?

Danke für eure Hilfe! :)

Antwort
von Unsinkable2, 13

wie realisiere ich eine Ressourcen-sparende Abfrage

Mit logischer Verkettung der Aufgaben. 

@Hendrik2708 schlug bereits einen Weg vor: Wenn sich der Status ändert, sofort benachrichtigen.

Alternative Lösung: Bei jeder Anmeldung und/oder Aktivität eines Nutzers den Status prüfen und Veränderungen seit der letzten Anmeldung mitteilen. (Dazu kannst du beispielsweise auch send_notification als Flag nutzen, wenn es nicht nur ein boolscher Wert ist und mehrere Status-Änderungen mitgeteilt werden sollen.)

Antwort
von Hendrik2708, 16

Wenn du sowas wie einen Posteingang in deinem System hast, sende dem Anfrager(xD) doch einfach eine Nachricht in den Posteingang, sobald der Freund die Anfrage angenommen hat und nachdem du diese in die Datenbank gepackt hast :)

Antwort
von chuteon, 2

Ein Trigger wäre ggfs auch eine weitere Möglichkeit.

Der wird in der Datenbank angelegt und du kannst ihn spezifizieren. ZB dass bei Update auf Feld beziehung eine bestimmte Aktion folgen soll. 

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten