Les transactions sont concurrentielles, elles ne sont pas faites pour éviter deux exécutions simultanées, mais pour s'assurer qu'on exécute tout un bloc de requêtes ou aucune.
C'est à toi d'effectuer la transaction à l'intérieur de ta boucle, et de rollback si l'event ne peux être delete. Sachant que la commande delete te renvoi le nombre de lignes affectées.
Si c'est 0, alors il faut rollback le contenu de la boucle.
C'est à toi d'effectuer la transaction à l'intérieur de ta boucle, et de rollback si l'event ne peux être delete. Sachant que la commande delete te renvoi le nombre de lignes affectées.
Si c'est 0, alors il faut rollback le contenu de la boucle.