Probème du trigger mysql
lamm
-
fiu -
fiu -
Bonjour,
je veux créer un trigger en Mysql qui se déclenche avant l'insertion d'un enrengitrement dans la table commande et qui doit vérifier si le client auquel la nouvelle commande sera affectée existe déjà dans la table client .
Voici le code que j'ai pu faire :
CREATE TRIGGER testref BEFORE INSERT ON commande
FOR EACH ROW BEGIN
if exists(select id from client where id=NEW.id)
begin
insert into commande(idclt) values(NEW.id);
end
end
Mais l'execution me renvois une erreur .
pourriez vous me le corriger svp ??!
Merci d'avance
je veux créer un trigger en Mysql qui se déclenche avant l'insertion d'un enrengitrement dans la table commande et qui doit vérifier si le client auquel la nouvelle commande sera affectée existe déjà dans la table client .
Voici le code que j'ai pu faire :
CREATE TRIGGER testref BEFORE INSERT ON commande
FOR EACH ROW BEGIN
if exists(select id from client where id=NEW.id)
begin
insert into commande(idclt) values(NEW.id);
end
end
Mais l'execution me renvois une erreur .
pourriez vous me le corriger svp ??!
Merci d'avance
A voir également:
- Probème du trigger mysql
- Mysql community server - Télécharger - Bases de données
- Assistant trigger - Guide
- Could not connect to mysql! please check your database settings! - Forum Redhat
- Phpmyadmin a tenté de se connecter au serveur mysql, et le serveur a rejeté la connexion. merci de vérifier les valeurs de host, username et password dans la configuration et de s'assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur mysql. ✓ - Forum PHP
- Mysql error 1 ✓ - Forum Réseaux sociaux
1 réponse
Salut
Je connais pas trop MySQL mais...
le fait que tu aies une erreur dois venir de ce que tu cherches à insérer une ligne dans commande pendant le traitement de "Insertion d'une ligne dans commande".
Si MySQL te laissait faire sans rien dire, tu te retrouverais à insérer une ligne pendant le traitement de l'insertion d'une ligne, elle-même provoquée par l'insertion d'une ligne, elle-même provoquée par l'insertion d'une ligne, etc
En fait, tu dois utiliser ton trigger (qui ici a un role de vérification) pour déclencher une erreur, une exception ou n'importe quoi qui interrompe l'exécution de l'insertion si ta ou tes conditions ne sont pas vérifiées. par contre, tu ne fais rien de spécial si ta vérification est couronnée de succès : l'exécution de ton insert se poursuivra alors tranquillement
Je connais pas trop MySQL mais...
le fait que tu aies une erreur dois venir de ce que tu cherches à insérer une ligne dans commande pendant le traitement de "Insertion d'une ligne dans commande".
Si MySQL te laissait faire sans rien dire, tu te retrouverais à insérer une ligne pendant le traitement de l'insertion d'une ligne, elle-même provoquée par l'insertion d'une ligne, elle-même provoquée par l'insertion d'une ligne, etc
En fait, tu dois utiliser ton trigger (qui ici a un role de vérification) pour déclencher une erreur, une exception ou n'importe quoi qui interrompe l'exécution de l'insertion si ta ou tes conditions ne sont pas vérifiées. par contre, tu ne fais rien de spécial si ta vérification est couronnée de succès : l'exécution de ton insert se poursuivra alors tranquillement