IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

[MySQL-4.5] Erreur #1136 après la création d'un trigger


Sujet :

SQL Procédural MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 16
    Points : 12
    Points
    12
    Par défaut [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 : 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
    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

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour

    Cela vient certainement de votre INSERT.
    Spécifiez explicitement les colonnes visées par la clause VALUES.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Lors de mon insertion je l'ai effectué avec l'interface graphique ainsi que manuellement et le résultat est le même.
    Toujours cette erreur #1136 alors que j'ai bien toutes les colonnes de renseigné

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Je parlais de l'INSERT qui se trouve dans votre déclencheur...

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Effectivement le fait de renseigner mes champs à tout de suite fonctionné je n'y avais pas pensé du tout merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur lors de la création trigger mysql
    Par risfox dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/09/2011, 12h42
  2. [MySQL] Erreur lors de la création d'une table avec mysql
    Par zemzoum89 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 14/05/2010, 02h03
  3. Réponses: 2
    Dernier message: 17/02/2009, 22h38
  4. Erreur lors de la création d'un trigger
    Par dnboa dans le forum PL/SQL
    Réponses: 7
    Dernier message: 17/09/2008, 12h58
  5. Erreur lors de la création d'un trigger
    Par max72100 dans le forum SQL Procédural
    Réponses: 12
    Dernier message: 26/06/2008, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo