Bonsoir à vous,

ça m'a bien aidé mais j'ai cependant encore un petit soucis,toujours dans la même idée mais je voudrais que mon trigger fasse la somme des enregistrements d'un champ à chaque fois qu'un nouvel enregistrement est inséré dans la 1ère table et qu'il insère cette somme dans la seconde table donc j'ai fait un truc du genre en m'inspirant du code de escafleak:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
CREATE TABLE test1 (id1 int, a int, b int)
CREATE TABLE test2 (id2 int, c int, d int)
 
delimiter //
CREATE TRIGGER calcul before INSERT ON test1
FOR each row
begin
SET @x = new.id1;
SET @y = sum(old.a);
SET @z = new.a - new.b;
INSERT INTO test2(id2,c,d) VALUES(@x,@y,@z);
end //
delimiter;
mais j'ai l'erreur suivante:
Error Code: 1363. There is no OLD row in on INSERT trigger
je comprends bien l'erreur mais je sais pas comment y remédier...
Merci d'avance pour votre aide!!