Bonjour,
Je me permet de poster un message car je ne trouve pas de solution à mon problème et je n'ai pas assez de connaissance en SQL pour le resoudre
L'idée, j'ai 3 tables : (schématisé très simplement sous excel pour vous montrer)
Donc pour vous expliquer un peu : j'ai une clé étrangère 'user_id' dans la table Chantier_id qui fait donc référence à 'id' dans la table user. J'aimerai faire de cette clé étrangère également une clé primaire (normalement j'ai réussis à le faire sous phpMyAdmin).
L'idée est qu'ensuite depuis ma table Zone, la colonne user_id soit une clé étrangère qui fait référence à chantier.user_id
Je pense que cela est possible (enfin d'après ce que j'ai pu voir dans un forum)
Mais lorsque j'essaye d'ajouter ma contrainte de clé étrangère à 'user_id' de la table zone, avec la commande suivante :
J'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ALTER TABLE zone ADD FOREIGN KEY (user_id) REFERENCES chantier (user_id);
Peut-etre une meilleure idée ?MySQL a répondu:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`alpestopauscult`.`#sql-3a81_116f`, CONSTRAINT `#sql-3a81_116f_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `chantier` (`user_id`))
L'idée c'est en fait de récupérer l'id de l'utilisateur qui dépend du chantier depuis la table zone
(J'affiche Zone, avec le nom du chantier de laquelle la zone dépend et ensuite j'aimerai afficher le nom de l'utilisateur qui dépend du chantier)
Ex : ZoneA appartient au chantierY qui appartient au client1
ZoneA ne peut pas appartenir au client2 car ChantierY n'appartient pas au client2
(Je trouvais ca plutôt claire ^^)
Merci de votre aide !!
Partager