Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/04/2011, 17h49   #1
Membre confirmé
 
Inscription : juin 2006
Messages : 566
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 566
Points : 277
Points : 277
Par défaut Pourquoi mon trigger ne marche pas ?

Bonjour,
voila j'ai fait cet trigger pour une BD mysql:

Code :
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 :
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 ?
Djobird est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 17h55   #2
Membre Expert
 
Avatar de Nudger
 
Homme Thomas Arnaud
Directeur de projet
Inscription : octobre 2010
Messages : 452
Détails du profil
Informations personnelles :
Nom : Homme Thomas Arnaud
Âge : 36
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 : 452
Points : 1 012
Points : 1 012
Envoyer un message via Skype™ à Nudger
Bonjour,

Cette erreur ne vient pas du trigger, mais de la requête DELETE elle-même.
__________________
www.nudge.org Surveillez et optimisez vos applications Java
Nudger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 18h01   #3
Membre confirmé
 
Inscription : juin 2006
Messages : 566
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 566
Points : 277
Points : 277
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 ?
Djobird est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 02h46   #4
Modérateur
 
Inscription : octobre 2008
Messages : 1 505
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 505
Points : 2 034
Points : 2 034
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
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h31.


 
 
 
 
Partenaires

Hébergement Web