SELECT via un Trigger sous Mysql
pcsystemd
Messages postés
734
Statut
Membre
-
pcsystemd Messages postés 734 Statut Membre -
pcsystemd Messages postés 734 Statut Membre -
Bonjour,
c'est mon premier Trigger et j'avoue que je suis un peu perdu. Je vous expose mon problème.
But de mon Trigger :
1 - Un INSERT dans matable1 déclenche un INSERT dans ma table users (ça cela fonctionne)
2 - je dois pouvoir insérer dans ma table users_roles, le dernier "uid" inséré dans ma table users ainsi que le "rid" de la table role qui correpond au champ "fonction" de matable1. Pour cela je dois faire un SELECT avec jointure sur mes tables : matable1,users et role :
matable1
uid
fonction
users
uid
role
rid
na(qui correspond au champ "fonction" de matable1)
La première partie de mon Trigger (premier INSERT) fonctionne mais pas la seconde partie puisque rien n'est inséré dans la table users_roles
J'ai testé toutes mes requêtes individuellement et elles fonctionnent. J'ai la sensation que le problème se situe au niveau des variables uiduser, ridfunc ou bien j'utilise pas comme il faut SET et DECLARE.
Une idée?
Merci
Le contenu de mon Trigger :
c'est mon premier Trigger et j'avoue que je suis un peu perdu. Je vous expose mon problème.
But de mon Trigger :
1 - Un INSERT dans matable1 déclenche un INSERT dans ma table users (ça cela fonctionne)
2 - je dois pouvoir insérer dans ma table users_roles, le dernier "uid" inséré dans ma table users ainsi que le "rid" de la table role qui correpond au champ "fonction" de matable1. Pour cela je dois faire un SELECT avec jointure sur mes tables : matable1,users et role :
matable1
uid
fonction
users
uid
role
rid
na(qui correspond au champ "fonction" de matable1)
La première partie de mon Trigger (premier INSERT) fonctionne mais pas la seconde partie puisque rien n'est inséré dans la table users_roles
J'ai testé toutes mes requêtes individuellement et elles fonctionnent. J'ai la sensation que le problème se situe au niveau des variables uiduser, ridfunc ou bien j'utilise pas comme il faut SET et DECLARE.
Une idée?
Merci
Le contenu de mon Trigger :
CREATE TRIGGER mdinsert
AFTER INSERT ON matable1
FOR EACH ROW
BEGIN
DECLARE uiduser INT;
DECLARE ridfunc INT;
INSERT INTO users (ref_uid, ref_tti, mail, name, pass)
VALUES (NEW.ref_perso, NEW.tti, NEW.email, NEW.username, MD5(NEW.pass));
SELECT r.rid INTO ridfunc
FROM role r, users u
WHERE NEW.fonction=r.na and NEW.ref_perso=u.ref_uid and NEW.uid=(SELECT uid FROM matable1 ORDER BY uid DESC LIMIT 1);
SET ridfunc = ridfunc;
SELECT uid INTO uiduser
FROM users ORDER BY uid DESC LIMIT 1;
SET uiduser = uiduser;
INSERT INTO users_roles (uid,rid)
VALUES (ridfunc,uiduser);
END$$
A voir également:
- SELECT via un Trigger sous Mysql
- Mysql community server - Télécharger - Bases de données
- Partager des photos via un lien - Guide
- Via michelin carte - Télécharger - Transports & Cartes
- ViaMichelin - Télécharger - Transports & Cartes
- Reboot and select proper boot device asus - Forum Matériel & Système