JeuWeb - Crée ton jeu par navigateur
Trigger or not Trigger - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Trigger or not Trigger (/showthread.php?tid=11)

Pages : 1 2


Trigger or not Trigger - Myrina - 08-12-2010

J'ai découvert récemment que l'hébergeur (en partie gratuit) Free-H ne permet pas l'utilisation des triggers dans leur base MySQL.
Y-a-t'il un moyen simple de détecter sa présence ou non afin de pallier à son absence par du code PhP de substitution le cas échéant?


RE: Trigger or not Trigger - NicoMSEvent - 08-12-2010

heu... en essayant de créer un trigger, et en détectant l'erreur? (try/catch)


RE: Trigger or not Trigger - niahoo - 08-12-2010

de détecter la présence de quoi ?


RE: Trigger or not Trigger - Myrina - 08-12-2010

(08-12-2010, 04:54 PM)niahoo a écrit : de détecter la présence de quoi ?

de savoir si le trigger est présent et exécuté suite à un ordre SQL senser le déclencher


RE: Trigger or not Trigger - niahoo - 08-12-2010

Ben disons que si tu connais l'action du trigger tu peux voir si la procédure correspondante à été exécutée avec un jeu de données de test, mais ça je suppose que tu y as pensé.

Malgré tout, le fait que le jeu de données reste inchangé devrait logiquement signifier que le trigger n'a pas été déclenché.

Si par contre tu ne peux pas examiner les données ..


RE: Trigger or not Trigger - NicoMSEvent - 08-12-2010

je voulais dire, lors de l'installation de ton site, tu vérifie la création/exécution du trigger (via du PHP, tu ferais ça de manière automatique), faut pas faire ça a chaque fois, ça serait un non-sens Wink


RE: Trigger or not Trigger - Myrina - 08-12-2010

(08-12-2010, 08:07 PM)NicoMSEvent a écrit : je voulais dire, lors de l'installation de ton site, tu vérifie la création/exécution du trigger (via du PHP, tu ferais ça de manière automatique), faut pas faire ça a chaque fois, ça serait un non-sens Wink

A moins d'une idée de génie, je pense que ca sera le meilleur compromis!


RE: Trigger or not Trigger - Jeckel - 09-12-2010

Ah mon avis il y a deux cas :
Premier cas, la version de MySQL est trop ancienne pour gérer les triggers (je crois que les Triggers ne sont disponible que depuis la version 5, beaucoup d'hébergeur sont encore à la version 4, surtout les gratuits)
Second cas, les triggers sont désactivé dans la configuration du serveur.

Dans les deux cas, il doit être possible de le vérifier en fouillant la configuration du serveur.

Pour consulter les variables il faut exécuter la requête suivante

SHOW VARIABLES;

Pour la version, il s'agit de la variable "version", pour savoir si les triggers sont activé ou pas, je ne sais pas, mais il doit y avoir qqc...


RE: Trigger or not Trigger - Myrina - 03-02-2011

N'ayant pas eu de réponse probante via MySQL, j'ai supprimé les triggers et mis en place en PHP un mécanisme de traitements se déclenchant automatiquement avant ou après un événement Create/Update/Delete afin de reproduire le fonctionnement des triggers.


RE: Trigger or not Trigger - Roworll - 03-02-2011

C'est effectivement un moyen de contourner le problème.
Par contre, ça oblige à gérer soi-même les transactions qui sont d'ordinaire prises en charges par le mécanisme des triggers.


C'est tout de même lourd d'avoir des environnements de "prod" qui fonctionnent avec de (très) vieilles version et/ou mal configurées.