|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 12 ![]() |
Bonjour j'ai un probleme de clé étrangères d'après le message d 'erreur et apres plusieurs heures sur google je viens vous demander votre aide :
j'ai un début de programme de gestion de médiatheque et les tables suivantes : film(idFilm int not null auto_increment,acteur varchar,realisateur varchar) Primary key(idFilm) genre(idGenre int, genre varchar) primary key(idGenre) film_genre(idFilm,idGenre) Primary key (idFilm,idGenre) foreign key : idFilm references film(idFilm), idGenre references genre(idGenre). J'ai rempli mes deux premieres tables avec des fichiers csv sans soucis. QUand je veux remplir la troisieme j'ai la fameuse erreur : ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint f ails (`mediatheque`.`film_genres`, CONSTRAINT `FK_fk_Film_Genres_Film1` FOREIGN KEY (`idFilm`) REFERENCES `film` (`idFilm`)) Les valeurs dans mon dernier fichier csv existent dans les deux premieres tables et je ne vois vraiment pas comment faire pour pallier à cette erreur. Si quelqu'un avait une idée ce serait fantastique. Merci d'avance |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 657 ![]() |
Citation:
Vu l'erreur ça n'est pas possible. Vosu avez forcément une ou plusieurs lignes qui ne sont pas présente dans vos tables référencées. Là en l'occurance c'est un idFilm qu'il ne trouve pas. Pour résoudre le problème : - Passez par une table temporaire pour loader votre fichier csv puis faites un insert - Enlevez la vérification des clefs étrangères, loadez votre fichier csv, supprimez les lignes obsolètes et ré-activée les clef étrangère |
|
|
|
00
|
|
|
#3 | |
![]() ![]() |
Bizarre comme structure de table !
Citation:
Et le film n'a pas de titre ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Il peut aussi s'agir d'un rechargement des films ?
Dans ce cas, attention à bien repositionner la valeur d'auto-incrément.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com