hajerkerkena
Messages postés27Date d'inscriptionmardi 6 décembre 2011StatutMembreDernière intervention19 avril 2012
-
15 févr. 2012 à 10:32
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 2013
-
21 févr. 2012 à 09:41
bonjour,
ma question semble facile mais j'arrive plus à résoudre ce problème.
j'ai une table personnel(matricule,nom, prenom,.....,chef) avec matricule est la clé primaire et chef est le numéro de matricule d'un autre personnel.
je pense que je dois faire une jointure entre la table elle même et chef sera une clé étrangère mais ça me génère une erreur.
quelle est la solution pour mon cas sachant que j'utilise mysql server.
merci pour votre aide et bonne journée.
hajerkerkena
Messages postés27Date d'inscriptionmardi 6 décembre 2011StatutMembreDernière intervention19 avril 2012 19 févr. 2012 à 18:33
Cannot add or update a child row: a foreign key constraint fails (`projet`.`personnel`, CONSTRAINT `FK_personnel_2` FOREIGN KEY (`matricule`) REFERENCES `personnel` (`matricule`) ON DELETE CASCADE ON UPDATE CASCADE)
ça ce qu'il afiche
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 20 févr. 2012 à 09:23
Re,
je te conseille ON DELETE SET NULL. A priori ton champ `chef` doit être nullable (le gars tout en haut de la hiérarchie n'ayant pas de chef). L'erreur devrait sauter. Le ON UPDATE CASCADE devrait quant à lui passer.
hajerkerkena
Messages postés27Date d'inscriptionmardi 6 décembre 2011StatutMembreDernière intervention19 avril 2012 20 févr. 2012 à 21:16
nn de nouveau ça n'a pas marché
Error while executing query.
ALTER TABLE `projet`.`personnel` ADD CONSTRAINT `FK_personnel_2` FOREIGN KEY `FK_personnel_2` (`matricule`)
REFERENCES `personnel` (`matricule`)
ON DELETE SET NULL
ON UPDATE CASCADE;
MySQL Error Number 1005
Can't create table 'projet.#sql-8fc_1f' (errno: 150)
c'est l'erreur qui la génère
j'arrive plus à résoudre ce problème de chef
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 21 févr. 2012 à 09:41
Re,
je viens de tester à l'instant ceci et ça passe parfaitement :
ALTER TABLE personnel ADD CONSTRAINT `FK_personnel_chef`
FOREIGN KEY (`chef`) REFERENCES `personnel` (`matricule`)
ON DELETE SET NULL ON UPDATE CASCADE;
Déjà, tu as mal écrit ton ALTER TABLE (peut-être un souci de retranscription sur le forum, passons). Autre possibilité, ton champ `chef` n'est pas nullable.