Bonjour,

Alors j'ai une BDD qui s'appelle fff avec deux tables : equipe(num_eq, nom_eq, nb_point) et matchs (num_mat, date, score_d (score domicile), score_e(score exterieur), #num_eqd(equipe domicile), #num_eqe (equipe exterieur)

J'ai réaliser un trigger qui s'effectue avec l'insertion d'un match qui doit update le nb_point des équipes qui ont joués

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
BEGIN
IF NEW.score_d = NEW.score_e THEN
UPDATE fff.equipe, fff.matchs SET nb_point = 1 WHERE matchs.num_eqd = equipe.num_eq and equipe.num_eq = matchs.num_eqe;
ELSEIF NEW.score_d > NEW.score_e THEN
UPDATE fff.equipe, fff.matchs SET nb_point = 3 WHERE equipe.num_eq = matchs.num_eqd;
UPDATE fff.equipe, fff.matchs SET nb_point = 0 WHERE equipe.num_eq = matchs.num_eqe;
ELSEIF NEW.score_d < NEW.score_e THEN
UPDATE fff.equipe, fff.matchs SET nb_point = 0 WHERE equipe.num_eq = matchs.num_eqd;
UPDATE fff.equipe, fff.matchs SET nb_point = 3 WHERE equipe.num_eq = matchs.num_eqe;
END IF;
END
quand je la sauvegarde il n'y a aucune erreur et quand j'entre un nouveau match où il y a égalité, et bien il n'y a aucun point attribuer alors qu'il doit m'insérer 1 point pour chaque équipe. Si je fait une victoire pour l'une des deux équipes, les deux équipes ont les 3 points alors que ça devrait être qu'une seule équipe.