sql >> Database teknologi >  >> RDS >> Mysql

MySQL - Trigger til opdatering af samme tabel efter indsættelse

Det ser ud til, at du ikke kan gøre alt dette i en trigger. Ifølge dokumentationen :

Inden for en lagret funktion eller trigger er det ikke tilladt at ændre en tabel, der allerede bruges (til læsning eller skrivning) af den sætning, der påkaldte funktionen eller triggeren.

Ifølge dette svar , det ser ud til, at du bør:

opret en lagret procedure, der indsætter/opdaterer måltabellen, og derefter opdaterer den eller de andre rækker, alt sammen i en transaktion.

Med en lagret proc vil du manuelt forpligte ændringerne (indsætte og opdatere). Jeg har ikke gjort dette i MySQL, men dette indlæg ligner et godt eksempel.



  1. SQL aritmetiske operatører

  2. Introduktion til dataforbindelser og relationer

  3. T-SQL tirsdag #65:Lær noget nyt

  4. oracle diff:hvordan man sammenligner to tabeller?