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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Erreur de gestion des relations [phpMyAdmin]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 87
    Par défaut Erreur de gestion des relations
    Bonjour,
    Je suis débutant sous phpMyAdmin, J'ai cherché dans la doc mais j'avoue ne pas avoir trouvé comment résoudre mon problème.

    Lorsque je crée une relation entre 2 tables j'obtiens l'erreur suivante:

    #1452 - Cannot add or update a child row: a foreign key constraint fails (`rfid/#sql-1014_d2`, CONSTRAINT `#sql-1014_d2_ibfk_57` FOREIGN KEY (`IDfreq`) REFERENCES `frequence` (`IDfreq`))

    Dans ma table frequence j'ai une clé IDfreq, qui sers de clé étrangère dans d'autres tables.

    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 680
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 680
    Par défaut
    ça veut dire que dans la table "frequence" il manque des lignes avec des "IDfreq" présents dans les autres tables
    donc tu dois d'abord remplir la table "frequence" avant de mettre la relation en place

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 87
    Par défaut
    Des lignes, c'est à dire? (dans ma table frequence j'ai IDfreq et Freq remplies avec des valeurs. exemple: '1', '13.56MHz')
    Dans mes tables associées à cette table j'ai bien des valeurs (bien que le champs peut être NULL...)

    Un des gros problème dans la structure de ma base, c'est que j'ai modifiée certains noms pour un meilleur cohérence dans ma base.
    Ces anciens noms n'apparaissent plus dans phpMyAdmin, mais lorsque j'exporte le code MySQL de certaines tables, les anciens noms apparaissent encore...
    Sont-ils encore utiliser quelque part dans ma base de données?

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 680
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 680
    Par défaut
    Citation Envoyé par Mikke Voir le message
    Des lignes, c'est à dire? (dans ma table frequence j'ai IDfreq et Freq remplies avec des valeurs. exemple: '1', '13.56MHz')
    Dans mes tables associées à cette table j'ai bien des valeurs (bien que le champs peut être NULL...)
    si par exemple dans tes tables associées, tu as les IDFreq 3, 4 et 5, tu dois trouver ces identifiants dans la table "frequence". s'il manque une seule des lignes tu ne pourras pas créer la relation

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 87
    Par défaut
    Merci tu avais raison, j'avais supprimées certaines lignes dans la table frequence, d'ou mon erreur!!

    Sais-tu comment régler mon autre problème?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 87
    Par défaut
    Comment faire pour supprimer une contrainte? j'essaye avec drop foreign key mais il me met une erreur de syntaxe...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DROP FOREIGN KEY IdApp;
    Mais le problème c'est que sous phpMyAdmin IdApp n'existe plus (je l'ai renommé en IDapp (ouais je sais je suis tordu ))
    Quand je fais exporter (pour afficher la structure de ma table "tag" (dans laquel il y a une clé étrangère IDapp), on vois encore afficher IdApp qui n'existe plus en fait...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ADD CONSTRAINT `tag_ibfk_22` FOREIGN KEY (`IdApp`) REFERENCES `application` (`IDapp`),
    Et j'ai toujours ce message qui s'affiche dans ma table "tag":
    "InnoDB free: 3072 kB; (`IDapp`) REFER `rfid/application`(`IDapp`); (`IdApp`) REF"

    je suis vraiment confus... merci d'avance!

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

Discussions similaires

  1. Gestion des relations
    Par jcaspar dans le forum Modélisation
    Réponses: 1
    Dernier message: 01/10/2007, 10h07
  2. [mcd]héritage pour gestion des relations
    Par jmarco dans le forum Schéma
    Réponses: 5
    Dernier message: 17/07/2007, 15h31
  3. [PHPMyAdmin] Gestion des relations chez Free
    Par grenoult dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 21/12/2006, 18h56
  4. Réponses: 2
    Dernier message: 22/07/2005, 12h06

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