Bonjour à tous, voici la question : Deux bases de données ont été créées contenant chacune une table, chacune possèdant 3 triggers (insert, update, delete) de même nature de telle sorte que si l'une des tables est mise à jour, l'autre le fait également, en fait les données sont donc les mêmes dans les deux tables. Seulement si une opération Update (par exemple) est faite sur l'une des deux tables un message d'erreur s'affiche :
"#1442 - Can't update table 'table2' in stored function/trigger because it is already used by statement which invoked this stored function/trigger."
Je crois que les triggers correspondant à l'update des deux tables réagissent formant une boucle sans fin. Si c'est le cas y a-t-il un moyen d'y remédier ?
Désolé si le message n'est pas trop clair, c'est la première fois que j'écris sur votre forum donc n'hésitez pas à poser des questions
Voici les triggers pour une table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
delimiter $$ 
Create trigger trg_post1 after Insert on base1.table1 
For each row 
begin 
Insert into base2.table2 (num, libelle, zone, nb_annee) values (new.code, new.name, new.ville, new.age); 
End $$ 
 
delimiter $$ 
Create trigger trg_post2 after Update on base1.table1 
For each row 
begin 
Update base2.table2 set libelle = new.name, zone = new.ville, nb_annee = new.age where num = old.code; 
End $$ 
 
delimiter $$ 
Create trigger trg_post3 after Delete on base1.table1 
For each row 
begin 
Delete from base2.table2 where num = old.code ; 
End $$