Page 1 sur 1

Triggers dans PhpMyAdmin

Posté : 28 déc. 2005, 08:53
par irunea
Salut à tous,

Dans Direction PHP de décembre on y parle des triggers ce qui m'intéresse vraiment.

Un exemple est donné ou l'on insère un nombre dans la table chiffres, lors de cette insertion s'il est pait alors on le range dans la table pair sinon dans la table impair. Chaque table n'a qu'un champ nommé x.

L'exemple est donné en ligne de commande mais j'aimerais l'exécuter dans phpmyadmin. Cela a l'air de bloquer à la première ligne.

PS : j'utilise WAMP5 phpmyadmin 2.6.4-pl4 Mysql MySQL 5.0.16-nt

A vous tous.
Irunea

Code : Tout sélectionner

Mysql > delimiter // mysql > CREATE TRIGGER pairimpair BEFORE INSERT ON chiffres -> FOR EACH ROW BEGIN -> if (NEW.x mod 2) THEN -> INSERT INTO test.impair VALUES (NEW.x); -> else -> INSERT INTO test.pair VALUES (NEW.x); -> end if; -> END -> //

Posté : 28 déc. 2005, 09:43
par Cyrano
Quel est exactement le message d'erreur ?

Message d'erreur dans PHPMYADMIN POUR LES TRIGGERS

Posté : 28 déc. 2005, 13:30
par irunea
Cyrano,

Si je mets seulement la commande

Code : Tout sélectionner

delimiter //
j'obtiens :

Code : Tout sélectionner

ERROR: Ponctuation invalide @ 11 STR: // SQL: delimiter //
Il semble que delimiter serve à indiquer à MySql que le fin de la commande sera // et non le point virgule. Mais cela n'a pas l'air de passer

Irunea

Posté : 28 déc. 2005, 13:54
par Cyrano
Selon la doc, redéfinir un délimiteur te permet d'utiliser le ";" à l'intérieur du trigger. As-tu essayé en utilisant un autre délimiteur que "//" ?

Triggers

Posté : 29 déc. 2005, 08:33
par irunea
Salut à tous,

J'ai essayé de changer le delimiter mais j'en suis tourjours au même point.

J'ai aussi essayé de créer le trigger en mode console mais cela plante le serveur local.

Je suis à la recherche d'un exemple qui marche...

Alain

Posté : 29 déc. 2005, 12:13
par Cyrano
Bon, je n'ai pas installé MySQL5 sur ma machine et je ne peux pas tester, mais un truc que j'essayerais, c'est un autre outil que phpMyAdmin : tu peux télécharger gratuitement Mysql Query Browser chez MySQL AB