Ich habe eine Tabelle namens booking
, die hat ein start_date
, expiry_date
und course_id
Feld und eine andere Tabelle namens course
, die die duration
in Monaten speichern.Wie würde ich einen MySQL-Trigger erstellen, der basierend auf Informationen in anderen Tabellen aktualisiert wird?
Was ich tun möchte ist, wann immer eine Buchung gemacht wird, um automatisch das Ablauffeld basierend auf dem gewählten Kurs festzulegen. Also, wenn course_id
5 ausgewählt wurde, und es hat eine Dauer von 12 Monaten, dann, wenn die Buchung eingefügt oder aktualisiert wird es die duration
bekommen, fügen Sie das zu start_date
und aktualisieren Sie dann expiry_date
entsprechend.
Irgendwelche Gedanken? Ich weiß, dass MySQL-Trigger das tun werden, aber ich habe wirklich keine Ahnung, wo ich anfangen soll, sie zu konstruieren und was ich tatsächlich mit ihnen machen kann.
imo, anstatt Auslöser zu versuchen, sofort zu schreiben. 1) Schreiben und debuggen Sie die Logik, um all dies in der ersten Instanz als separate Skripte auszuführen. 2) Dann "refactor" in Funktionen, Verfahren, Ansichten usw. 3) Dann entscheiden, ob Sie die Logik in Trigger setzen können? Warum? 1) Sie wissen, dass die ganze Logik funktioniert! Wenn Sie also Schritt 2) tun, muss es sich um einen "Übertragungsfehler" handeln, nicht um einen logischen Fehler. Schritt 3) Sie verstehen den Prozess vollständig und sehen, was bei Triggern nicht funktioniert. Bitte überspringen Sie keine oder die drei Schritte. So mache ich das; - / –