Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - Trigger zum Aktualisieren derselben Tabelle nach dem Einfügen

Es scheint, dass Sie dies alles nicht in einem Trigger tun können. Gemäß der Dokumentation :

Innerhalb einer gespeicherten Funktion oder eines Triggers ist es nicht erlaubt, eine Tabelle zu ändern, die bereits (zum Lesen oder Schreiben) von der Anweisung verwendet wird, die die Funktion oder den Trigger aufgerufen hat.

Gemäß diese Antwort , sollten Sie anscheinend:

Erstellen Sie eine gespeicherte Prozedur, die die Zieltabelle einfügt/aktualisiert und dann die andere(n) Zeile(n) aktualisiert, alles in einer Transaktion.

Bei einer gespeicherten Prozedur übernehmen Sie die Änderungen manuell (Einfügen und Aktualisieren). Ich habe das nicht in MySQL gemacht, aber dieser Beitrag sieht nach einem guten Beispiel aus.