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 :

mon trigger ne fonctionne pas !


Sujet :

SQL Procédural MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut mon trigger ne fonctionne pas !
    Bonjour,
    apres avoir lu votre article publié le 03/11/05, je me lance dans
    l'utilisation des triggers;
    voici mon problème : apres avoir saisi des donnees dans un formulaire (PHP), en cliquant sur un bouton, je mets a jour une ligne dans une base de nnées :
    UPDATE cal2006 SET num1=10, num2=20, num3=30, num4=40, txt1='pas de commentaire' WHERE id=5
    j'ai creé un trigger pour mettre a jour une colonne de ma table:
    CREATE TRIGGER `cal2006_after_upd_tr` AFTER UPDATE ON `cal2006`
    FOR EACH ROW
    BEGIN
    UPDATE cal2006 SET cal1=new.num1+new.num2+new.num3+new.num4);
    END;

    depuis que j'ai creer le trigger ma requete UPDATE ne fonctionne
    plus; j'ai le message d'erreur suivant :
    Can't update table 'cal2006' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

    pouvez-vous m'aider ?
    merci,
    cordialement,
    J. PINEAU

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Bonjour,

    Suite à ton mail j'ai voulu te répondre mais apparemment ton serveur de messagerie a considéré mon courrier comme un spam

    Je te remets la réponse ici :

    Le message d'erreur est explicite : dans un trigger concernant
    une table donnée, il n'est pas possible de faire un UPDATE sur
    la même table.

    Si tu cherches à mettre à jour séparément la colonne cal1 de
    chaque ligne concernée par l'UPDATE d'origine, il ne faut pas
    exécuter un nouvel UPDATE mais simplement faire un SET
    new.cal1 = new.num1+new.num2+new.num3+new.num4 (comme expliqué
    dans le tutoriel).

    Dans le cas contraire, il faudrait déplacer la colonne cal1
    dans une autre table afin qu'elle puisse être atteinte par le
    trigger.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    merci bcp;
    ça marche !
    cordialement,
    Jacky

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

Discussions similaires

  1. Les liens de mon menu ne fonctionnent pas
    Par macapa dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 03/01/2007, 18h43
  2. la publication de mon appli ne fonctionne pas
    Par tchecko dans le forum Accès aux données
    Réponses: 4
    Dernier message: 07/10/2006, 11h59
  3. Réponses: 1
    Dernier message: 30/08/2006, 19h00
  4. [VB.Net/DataReader] Pourquoi mon ExecuteReader ne fonctionne pas ?
    Par emeraudes dans le forum Accès aux données
    Réponses: 8
    Dernier message: 21/08/2006, 13h38
  5. Réponses: 14
    Dernier message: 17/08/2006, 10h29

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