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

Langage SQL Discussion :

Pourquoi mon trigger ne marche pas ?


Sujet :

Langage SQL

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Points : 340
    Points
    340
    Par défaut Pourquoi mon trigger ne marche pas ?
    Bonjour,
    voila j'ai fait cet trigger pour une BD mysql:

    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 TRIGGER trigger_save_deleted_row_on_game
    BEFORE DELETE
    ON form.game
    FOR EACH ROW
    INSERT INTO form.game_history
    VALUES
    (form.game.id,
    form.game.user,
    form.game.neighbor,
    form.game.creation,
    form.game.modification,
    form.game.state
    )
    Je peux ajouter le trigger dans la bd, mais en revanche si je tente de supprimer une ligne dans la table game j'ai l'erreur suivante:
    SQL query:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DELETE FROM `form`.`game` WHERE `game`.`id` =1
     
    MySQL said: Documentation
    #1054 - Unknown column 'form.game.id' in 'field list'
    Mon souci est que pour ajouter des trigger je dois passer par l'admin, et je ne peux pas faire 30 demandes differentes pour debuger mon trigger.
    Quelqu'un a une idée ?

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonjour,

    Cette erreur ne vient pas du trigger, mais de la requête DELETE elle-même.

  3. #3
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Points : 340
    Points
    340
    Par défaut
    Le delete c'est celui du mysql admin en fait, je me disais qu'il ne marchait pas à cause du trigger :/
    De plus si je reprends la même table mais sans le trigger, ça marche.

    Vu que le trigger est BEFORE, si celui-ci échoue je suppose que la requête de DELETE échoue aussi non ?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Dans le trigger il faut se référer aux colonnes de la ligne à effaçer avec OLD.nom_colonne au lieu de form.game.nom_colonne

Discussions similaires

  1. [MASM] Pourquoi mon *.exe ne marche pas ?
    Par link25000 dans le forum x86 16-bits
    Réponses: 1
    Dernier message: 24/04/2009, 23h57
  2. Pourquoi mon script ne marche pas ?
    Par chrifus dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/05/2008, 18h04
  3. Pourquoi mon Thread ne marche pas ?
    Par Cazaux-Moutou-Philippe dans le forum Delphi
    Réponses: 9
    Dernier message: 27/05/2007, 16h19
  4. Pourquoi mon script ne marche pas?
    Par amarcil dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/05/2006, 21h37
  5. Pourquoi ce trigger ne marche pas ??
    Par Le Basque dans le forum Développement
    Réponses: 4
    Dernier message: 20/09/2004, 15h46

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