Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1658 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Résolu]Pb trigger Mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu]Pb trigger Mysql

n°1901396
Alisteroid
Posté le 02-07-2009 à 09:53:28  profilanswer
 

Bonjour,
 
Je cherche à creer un trigger ton con sous mysql, ce que je n'ai encore jamais fais avec mysql et je me confronte à un probleme à la con.
 
Je cherche inserer dans une table, certaines données de la table mise à jour si la colonne alea_stat a été modifiée :
 

Code :
  1. CREATE trigger histo_statut_alea AFTER UPDATE ON tbl_alea
  2. FOR EACH ROW 
  3. IF NEW.alea_stat != OLD.alea_stat THEN
  4. INSERT INTO tbl_asta( `asta_alea_id` , `asta_usem` , `asta_datm` , `asta_alea_stat` ) VALUES (NEW.alea_id, NEW.alea_usem,NEW.alea_datm, NEW.alea_stat)
  5. END IF


 
Et je me tape toujours une erreur :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO tbl_asta( `asta_alea_id` , `asta_usem` , `asta_datm` , `asta_alea_st' at line 3
 
Si j'enleve le if, ça marche impec :/
 
Une idée?


Message édité par Alisteroid le 03-07-2009 à 13:32:36
mood
Publicité
Posté le 02-07-2009 à 09:53:28  profilanswer
 

n°1901411
Deamon
Posté le 02-07-2009 à 10:14:10  profilanswer
 

C'est pas le "!=" qu'il n'aime pas ?

n°1901414
Alisteroid
Posté le 02-07-2009 à 10:23:00  profilanswer
 

Non si je met '=' ça me sort la même erreur.

n°1901415
Deamon
Posté le 02-07-2009 à 10:28:23  profilanswer
 

Il n'y a pas besoin de mettre BEGIN/END après ton FOR EACH ROW ?

n°1901421
Alisteroid
Posté le 02-07-2009 à 10:37:53  profilanswer
 

Non il me semble pas

n°1901646
Alisteroid
Posté le 02-07-2009 à 15:33:48  profilanswer
 

Pb réglé c'était un pb de délimiteur, faut le changer dans phpmyadmin en bas de l'onglet SQL, remplacer ';' par un autre caractère ce qui donne:
 
Delimiter #

Code :
  1. CREATE trigger histo_statut_alea AFTER UPDATE ON tbl_alea
  2. FOR EACH ROW
  3. IF NEW.alea_stat != OLD.alea_stat THEN
  4. INSERT INTO tbl_asta( `asta_alea_id` , `asta_usem` , `asta_datm` , `asta_alea_stat` ) VALUES (NEW.alea_id, NEW.alea_usem,NEW.alea_datm, NEW.alea_stat);
  5. END IF;
  6. #


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Résolu]Pb trigger Mysql

 

Sujets relatifs
Suite de test avec JUnit[résolu][Resolu][Asp.NET][C#] Composants COM et serveur IIS
Problème Requête Mysql[RESOLU] Qualité de l'impression
[Résolu] Arrondir avec la fonction Format[RESOLU] Problème étrange avec le Main
[Résolu] execution de jar : Failed to load Main-Class[résolu]variables de classe; raccourcis syntaxiques
[Résolu]Probleme avec des pointeur de structure[resolu]Ajax.updater et IE
Plus de sujets relatifs à : [Résolu]Pb trigger Mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR