IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

Cannot add or update a child row: a foreign key constraint fails


Sujet :

Administration MySQL

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut Cannot add or update a child row: a foreign key constraint fails
    Bonsoir,

    Lors de l'import dans ma table 'commune' (vide) de données à partir d'un fichier .csv, j'obtiens l'erreur suivante :

    #1452 - Cannot add or update a child row: a foreign key constraint fails (`hotels`.`commune`, CONSTRAINT `FK_2D5FE872E946114A` FOREIGN KEY (`province_id`) REFERENCES `province` (`id`))
    D'après ce que j'en comprends, c'est qu'il y a un souci avec la clé étrangère 'province_id' de ma table 'commune'. Or, toutes les clés que je tente d'introduire existent bien dans ma table 'province'. Pour certains enregistrements, il n'y a pas de valeur, de manière logique car mon champ 'province_id' peut être null.

    Quelqu'un aurait une idée?

    Merci d'avance pour votre aide

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    J'ai résolu mon problème en désactivant les frorein keys lors de l'import
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET FOREIGN_KEY_CHECKS = 0;

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Je trouve que ce n'est pas une solution très propre, les clés étrangères ne servant plus à rien dès lors...

    J'ai le même problème, avec un fichier de plus de 500000 lignes et je voudrais chercher la ligne exacte d'où vient l'erreur pour tenter de la corriger.

    Est-ce que quelqu'un sait comment trouver la ligne exacte du fichier csv lorsque cette erreur survient ?

    Merci d'avance

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    loadez votre fichier csv dans une table temporaire et faites des requêtes dessus pour extraire les lignes fautivent

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Bonjour et merci, c'est bien la solution à laquelle je suis arrivé faute de possibilité directe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 27/08/2015, 17h46
  2. Réponses: 1
    Dernier message: 18/04/2012, 10h31
  3. Réponses: 2
    Dernier message: 03/04/2012, 20h00
  4. Réponses: 3
    Dernier message: 28/11/2011, 17h26
  5. Réponses: 0
    Dernier message: 12/12/2007, 21h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo