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

Requêtes MySQL Discussion :

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


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier Avatar de tidou95220
    Homme Profil pro
    BI junior
    Inscrit en
    Novembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BI junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 263
    Points : 90
    Points
    90
    Par défaut Cannot add or update a child row: a foreign key constraint fails
    Bonjour,

    J'ai un petit souci lors de l'ajout de données... d'où peut venir mon problème ?
    Ça fait 24h que je suis planté dessus...

    #1452 - Cannot add or update a child row: a foreign key constraint fails (`developpez`.`balance_des_paiements_annuelle`, CONSTRAINT `balance_des_paiements_annuelle_ibfk_1` FOREIGN KEY (`id_pays`) REFERENCES `pays` (`id_pays`) ON DELETE NO ACTION ON UPDATE NO ACTION)
    Ma table balance_des_paiements_annuelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    -
    -- Structure de la table `balance_des_paiements_annuelle`
    --
     
    CREATE TABLE IF NOT EXISTS `balance_des_paiements_annuelle` (
      `annee` varchar(50) NOT NULL,
      `balance_milliards` varchar(50) NOT NULL,
      `balance_pct_pib` varchar(50) NOT NULL,
      `id_pays` int(11) DEFAULT NULL,
      KEY `id_pays` (`id_pays`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    --
    -- Contenu de la table `balance_des_paiements_annuelle`
    --
     
     
    --
    -- Contraintes pour les tables exportées
    --
     
    --
    -- Contraintes pour la table `balance_des_paiements_annuelle`
    --
    ALTER TABLE `balance_des_paiements_annuelle`
      ADD CONSTRAINT `balance_des_paiements_annuelle_ibfk_1` FOREIGN KEY (`id_pays`) REFERENCES `pays` (`id_pays`) ON DELETE NO ACTION ON UPDATE NO ACTION;
    Ma table pays :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    --
    -- Structure de la table `pays`
    --
     
    CREATE TABLE IF NOT EXISTS `pays` (
      `id_pays` int(11) NOT NULL AUTO_INCREMENT,
      `nom_p` varchar(50) NOT NULL,
      PRIMARY KEY (`id_pays`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
     
    --
    -- Contenu de la table `pays`
    --
     
    INSERT INTO `pays` (`id_pays`, `nom_p`) VALUES
    (1, 'Bolivie'),
    (2, 'Congo'),
    (3, 'Bresil');
    merci

  2. #2
    Membre régulier Avatar de tidou95220
    Homme Profil pro
    BI junior
    Inscrit en
    Novembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BI junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 263
    Points : 90
    Points
    90
    Par défaut
    J'ai bien un ID 2 dans ma table pays et dans ma colonne id_pays de ma table balance_des_paiements_annuelle ma colonne id_pays est remplie de 2.... je ne comprends pas.

  3. #3
    Membre régulier Avatar de tidou95220
    Homme Profil pro
    BI junior
    Inscrit en
    Novembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BI junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 263
    Points : 90
    Points
    90
    Par défaut
    Tout simplement le format de mon fichier.....c'était pas des tabulations comme séparateur mais n'importe quoi ^^

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Si ça peut dépanner quelqu'un, j'apporte une solution supplémentaire à ce message d'erreur.

    J'ai créée la structure de ma base MySQL avec le logiciel MySQL Workbench. L'erreur "Cannot add or update a child row: a foreign key constraint fails" sur les requêtes d'une seule table sans que je comprenne pourquoi.

    En fait, la table en question était configuré avec le moteur MySQL "InnoDB" au lieu de "MyISAM" dans le logiciel...

    Une fois repassé avec le bon moteur, ça marche très bien.

+ 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. Cannot add or update a child row: a foreign key constraint fails
    Par dubitoph dans le forum Administration
    Réponses: 4
    Dernier message: 25/01/2012, 08h29
  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