aforpien
Messages postés118Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention12 mai 2010
-
29 août 2008 à 17:58
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
29 août 2008 à 19:43
Bonjour à tous,
Je travail actuellement sur la création d'un utilitaire qui permettrai de stocker des familles ainsi que des professions, puis de pouvoir faire une relation entre les deux : pouvoir connaitre la profession de chaque famille.
J'ai donc trois table : familles, professions et prof_fam. Je peux ajouter des familles, des professions, mais je ne peux rien ajouter dans la table prof_fam afin de créer les relation familles/professions.
Voici le message d'erreur obtenu :
"
#1452 - Cannot add or update a child row: a foreign key constraint fails
(`toto/prof_fam`, CONSTRAINT `prof_fam_ibfk_1` FOREIGN KEY (`nom_fam`)
REFERENCES `familles` (`nom_fam`) ON DELETE CASCADE ON UPDATE CASCADE)
"
J'utilise l'interface phpMyAdmin...
Voici mon script de création de base
-- Structure de la table `familles`
CREATE TABLE `familles` (
`nom_fam` varchar(3) NOT NULL,
`designation` varchar(30) default NULL,
`code` varchar(3) default NULL,
PRIMARY KEY (`nom_fam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- Structure de la table `prof_fam
CREATE TABLE `prof_fam` (
`nom_fam` varchar(3) NOT NULL,
`nom_prof` varchar(10) NOT NULL,
PRIMARY KEY (`nom_fam`,`nom_prof`),
KEY `nom_fam` (`nom_fam`),
KEY `nom_prof` (`nom_prof`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- Structure de la table `professions`
CREATE TABLE `professions` (
`nom_prof` varchar(10) NOT NULL,
PRIMARY KEY (`nom_prof`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- Contraintes pour la table `prof_fam`
--
ALTER TABLE `prof_fam`
ADD CONSTRAINT `prof_fam_ibfk_1` FOREIGN KEY (`nom_fam`) REFERENCES `familles` (`nom_fam`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `prof_fam_ibfk_2` FOREIGN KEY (`nom_prof`) REFERENCES `professions` (`nom_prof`) ON DELETE CASCADE ON UPDATE CASCADE;
Pouvez-vous m'aidez svp ? j'ai pourtant fais un bts informatique de gestion, j'ai suivi des cours de developpement mais pas sous Mysql, je débute avec ce sgbd alors help please !!!
Merci d'avance !!!!
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 29 août 2008 à 19:22
Hello,
tu ne dois pas remplir dans l'ordre. Tu as mis 2 contraintes sur la table prof_fam, donc tu dois la remplir avec des données qui sont déjà existantes dans les 2 autres tables.
aforpien
Messages postés118Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention12 mai 2010 29 août 2008 à 19:29
Effectivement, tu as raison et c'est logique !!! Merci d'avoir pris la peine de répondre à une question probablement très simple pour tous le monde sauf moi ! lol
Ciao !