Précédent   Forum des professionnels en informatique > PHP > Outils > phpMyAdmin
phpMyAdmin Forum d'entraide sur l'outil phpMyAdmin : installation, utilisation, etc. Avant de poster -> Cours phpMyAdmin
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/03/2008, 09h24   #1
Candidat au titre de Membre du Club
 
Inscription : février 2008
Messages : 87
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : février 2008
Messages : 87
Points : 13
Points : 13
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.
Mikke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 09h51   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
ç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
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 11h02   #3
Candidat au titre de Membre du Club
 
Inscription : février 2008
Messages : 87
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : février 2008
Messages : 87
Points : 13
Points : 13
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?
Mikke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 11h09   #4
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
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
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 11h14   #5
Candidat au titre de Membre du Club
 
Inscription : février 2008
Messages : 87
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : février 2008
Messages : 87
Points : 13
Points : 13
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?
Mikke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 11h53   #6
Candidat au titre de Membre du Club
 
Inscription : février 2008
Messages : 87
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : février 2008
Messages : 87
Points : 13
Points : 13
Comment faire pour supprimer une contrainte? j'essaye avec drop foreign key mais il me met une erreur de syntaxe...
Code :
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 :
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!
Mikke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 08h28   #7
Candidat au titre de Membre du Club
 
Inscription : février 2008
Messages : 87
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : février 2008
Messages : 87
Points : 13
Points : 13
Bonjour, je vous relance sur mon sujet d'hier.
J'ai réussis à débuger un peu mon programme (j'ai mis des noms différents pour les clé primaire des tables et des clé étrangères qui s'y réfèrent! (chais po si c clair))
J'ai toujours ce messages qui s'affiche:

"InnoDB free: 3072 kB; (`IDfab`) REFER `rfid2/fabricant`(`IDfabricant`); (`IdTail"

Apprarement on vois pas la fin du message... c'est une erreur? un avertissement? ou rien du tout?

Merci d'avance!
Mikke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 09h44   #8
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Citation:
"InnoDB free: 3072 kB; (`IDfab`) REFER `rfid2/fabricant`(`IDfabricant`);
cette partie est bonne


pour ça:
Citation:
(`IdTail"
vérifie les relations de clé que tu as pour IdTail
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 10h13   #9
Candidat au titre de Membre du Club
 
Inscription : février 2008
Messages : 87
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : février 2008
Messages : 87
Points : 13
Points : 13
Ok, mes relations sont corrects, je les aies vérifiées et revérifiées.
Donc c'est pas un message d'erreur
Tant mieux, désolé d'avoir insister mais je préferais être sûr!!
Mikke est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h43.


 
 
 
 
Partenaires

Hébergement Web