[MySQL-4.5] Erreur #1136 après la création d'un trigger
Bonjour,
Mon problème se déroule lors de mon insertion. Après la création d'un trigger sur ma table notation j'insert donc la moyenne de toutes les notations de mon article dans une table note voilà le code du trigger :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| DELIMITER //
CREATE TRIGGER `Notation_AFTER_INSERT` AFTER INSERT ON `Notation` FOR EACH ROW
BEGIN
if EXISTS (SELECT idArticle FROM Note WHERE idArticle = NEW.idArticle) THEN
begin
update note set
moy_propre = ((moy_propre * nb_com) + NEW.proprete) / (nb_com + 1),
moy_acce = ((moy_acce * nb_com) + NEW.accessibilite) / (nb_com + 1),
moy_encad = ((moy_encad * nb_com) + NEW.encadrement) / (nb_com + 1),
moy_equip = ((moy_equip * nb_com) + NEW.equipement) / (nb_com + 1),
moy_ambiance = ((moy_ambiance * nb_com) + NEW.ambiance) / (nb_com + 1)
where idArticle = New.idArticle;
update Note set
nb_com = nb_com + 1
where idArticle = New.idArticle;
update Note set
moy_gen = (moy_propre + moy_acce + moy_encad + moy_equip + moy_ambiance) / 5
where idArticle = New.idArticle;
end;
else
begin
insert into note Values ((New.proprete + New.accessibilite + New.encadrement + New.equipement + New.ambiance) / 5,
New.proprete,
New.accessibilite,
New.encadrement,
New.equipement,
New.ambiance,
1);
end;
end if;
END;//
DELIMITER ; |
Mon trigger se créé bien lors de l’exécution de mon code seulement il empêche l'insertion dans ma table notation et retourne une erreur :
#1136 - Column count doesn't match value count at row 1
J'ai alors enlevé mon trigger et retenté l'insertion qui s'est déroulé parfaitement.
J'ai aussi essayé de mettre mon trigger en before insert ce qui n'a rien changé.
Si vous avez une solution ou un lien ou trouver la solution je suis preneur.
Merci