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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Mysql - Triggers - Limitation - Workaround?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mysql - Triggers - Limitation - Workaround?

n°2061369
betsamee
Asterisk Zeperyl
Posté le 05-03-2011 à 23:15:59  profilanswer
 

Salut a tous
Je rencontre une limitation de MySQL pas forcement cool parce qu'elle me casse tout mon algo.
J'ai mis un trigger "avant insert" sur une table T1, qui update une autre table T2 en incrémentant un champ T2.Credit = T2.Credit + T1.Qte.
 
Lorsque je souhaite réaliser un INSERT sur la table T1 a l'aide de données issues d'un SELECT comprenant entre autres une jointure sur T1 MySQL m'envoie lamentablement chier :
 
Can't update table 'T1' in stored function/trigger because it is already used by statement which invoked this stored function/trigger
 
Je vois pas franchement le mal a vouloir faire ce que je fais , les autres MGBD me semblent pas mettre de limitation de ce niveau.
 
Vous auriez une idée de comment résoudre ce souci ?(j'ai absolument besoin que T2 soit update a chaque insertion dans T1, T2.Credit servant a calculer un champs a chaque insertion dans T1)
 
Merci d'avance


---------------
un blog sur Asterisk
mood
Publicité
Posté le 05-03-2011 à 23:15:59  profilanswer
 

n°2071846
ycardongua​rd
Posté le 25-04-2011 à 01:27:16  profilanswer
 

Je crois que la réponse est dans la documentation:
"Le déclencheur ne peut pas faire référence directe aux tables par leur nom, y copmris la table à laquelle il est associé."
et un peu plus loin
"Le déclencheur ne peut pas exécuter de procédures avec la commande CALL. Cela signifie que vous ne pouvez pas contourner le problèmes des noms de tables en appelant une procédure stockée qui utilise les noms de tables."

 

Bref MYSQL c'est de la daube! tous les autre base de données le font depuis des lustres Y compris POSTGRESQL.
Et il faut s'estimer heureux car les triggers n'existent que depuis la version 5 de Mysql :heink:.
A part Ca Mysql est rapide. Ca fait pas le boulot. Mais ca le fait pas ... rapidement ! Quelle blague

 


Message édité par ycardonguard le 25-04-2011 à 01:27:51
n°2071860
flo850
moi je
Posté le 25-04-2011 à 11:04:25  profilanswer
 

allez chercher un topic vieux de 6 semaines pour juste vomir sur mysql sans proposer la moindre solution ...
 
certains ont vraiment de la haine a donner


---------------

n°2072053
betsamee
Asterisk Zeperyl
Posté le 26-04-2011 à 16:03:56  profilanswer
 

effectivement j'avais pas vraiment besoin qu'on vienne me relire la doc vu que je demandais justement un workaround
Mais bon je me suis finalement resolu a faire ca dans le code, ca me coute mais y a pas le choix


---------------
un blog sur Asterisk

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

  Mysql - Triggers - Limitation - Workaround?

 

Sujets relatifs
Problème à l'importation B.D.D MySQLQuestion Clés Primaires MySQL pour notre cas...
MySQL/PhP - dCharset, mysql, php et facebook
MySQL/PhP Novice - Méthode de travailCopier tables MySQL vers un autre serveur
Charset modifié entre Mysql et mes pages webParser un fichier BibTex pour l'insérer dans une bdd MySQL
Récupération de donénes mysql après upgrade[RESOLU] [MySQL] Jointures sur 3 tables
Plus de sujets relatifs à : Mysql - Triggers - Limitation - Workaround?


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