MySQL – Auslöser für die Aktualisierung derselben Tabelle nach dem Einfügen
Im Bereich der Datenbankverwaltung treten Situationen auf, in denen eine Aktion für eine Tabelle eine Folge erfordert Aktualisierungen derselben Tabelle sind keine Seltenheit. In diesem speziellen Fall besteht die Herausforderung darin, dies innerhalb eines Triggers zu erreichen.
Stellen Sie sich den Fall der ACCOUNTS-Tabelle vor, bei der beim Einfügen einer neuen Zeile eine entsprechende Aktualisierung für eine andere Zeile erforderlich ist, deren Primärschlüssel mit dem Wert übereinstimmt von NEW.edit_on. Wie in der Dokumentation jedoch angegeben, ist das Ändern einer Tabelle, die bereits in der aufrufenden Anweisung verwendet wird, innerhalb eines Triggers verboten.
Um diese Einschränkung zu überwinden, wird empfohlen, eine gespeicherte Prozedur zu verwenden. Diese gespeicherte Prozedur würde zunächst in die Zieltabelle eingefügt oder diese aktualisieren und anschließend die zusätzliche Zeile aktualisieren, alles im Kontext einer Transaktion. Durch manuelles Festschreiben der Änderungen können beide Aktionen erfolgreich ausgeführt werden.
Während die Komplexität der Erstellung einer solchen gespeicherten Prozedur je nach spezifischem Datenbanksystem variieren kann, sehen Sie sich für ein detaillierteres Verständnis das bereitgestellte Beispiel an. Dieser Ansatz umgeht effektiv die durch Trigger auferlegten Einschränkungen und ermöglicht die Realisierung komplexer Tabellenmanipulationsszenarien.
Das obige ist der detaillierte Inhalt vonWie kann ich dieselbe MySQL-Tabelle nach einem INSERT mithilfe eines Triggers aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!