Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Déclencheur pour mettre à jour la même table après l'insertion

Il semble que vous ne puissiez pas faire tout cela dans un déclencheur. Selon la documentation :

Dans une fonction ou un déclencheur stocké, il n'est pas permis de modifier une table déjà utilisée (en lecture ou en écriture) par l'instruction qui a appelé la fonction ou le déclencheur.

Selon cette réponse , il semble que vous devriez :

créer une procédure stockée, qui insère dans/met à jour la table cible, puis met à jour les autres lignes, le tout dans une transaction.

Avec un proc stocké, vous validerez manuellement les modifications (insertion et mise à jour). Je n'ai pas fait cela dans MySQL, mais cet article semble être un bon exemple.