Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 17/08/2011, 17h41   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 13
Points : 1
Points : 1
Par défaut Problème avec la création d'une clé étrangère

Bonjour ! ^^

Je possède deux tables

Membres
- id_membre (clé primaire)
- Nom
- Prenom
-....

Reservation
- id_reservation (clé primaire)
- id_membre (futur clé étrangère)
- voiture
- ....

J'ai essayé de faire de id_membre (Index >table reservation) une clé étrangère, mais lorsque je vais sur gestion des relation dans phpmyadmin et que je sélectionne celui-ci pour l'affecter à id_membre (Primary >table membre), je reçois le message d'erreur suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
Erreur
 
requête SQL:
 
ALTER TABLE `reservation` ADD FOREIGN KEY ( `id_membre` ) REFERENCES `greenshare`.`membres` (
`id_membre`
) ON DELETE NO ACTION ON UPDATE NO ACTION ;
 
MySQL a répondu:Documentation
#1452 - Cannot add or update a child row: a foreign key constraint fails (`greenshare`.<result 2 when explaining filename '#sql-9dc_57'>, CONSTRAINT `#sql-9dc_57_ibfk_1` FOREIGN KEY (`id_membre`) REFERENCES `membres` (`id_membre`) ON DELETE NO ACTION ON UPDATE NO AC)
Documentation

Comment puis je faire pour remédier à cela ?

Merci
Biraru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 18h09   #2
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 167
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 22
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 167
Points : 2 304
Points : 2 304
Essaye d'enlever `greenshare`.
Ce qui donne:

Code :
1
2
3
4
 
ALTER TABLE `reservation` ADD FOREIGN KEY ( `id_membre` ) REFERENCES `membres` (
`id_membre`
) ON DELETE NO ACTION ON UPDATE NO ACTION ;

Sinon je pense que tu respectes bien la syntaxe (http://dev.mysql.com/doc/refman/5.0/...nstraints.html)
__________________
Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com
N'oubliez pas de voter pour les messages dont la réponse est pertinente (en bas à droite du cadrant)
Vous voulez afficher du code :
Votre problème est résolu :
Pas de question technique par MP !
David55
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 18h13   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 13
Points : 1
Points : 1
Non ça ne marche pas
Biraru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 18h28   #4
Membre confirmé
 
Inscription : juillet 2011
Messages : 146
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : juillet 2011
Messages : 146
Points : 253
Points : 253
Tu n'aurais pas déjà des valeurs dans tes tables ?
Tolriq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 15h32   #5
Invité de passage
 
Inscription : janvier 2011
Messages : 13
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 13
Points : 1
Points : 1
J'ai réglé le problème

Mais j'aimerai savoir une chose...est-ce possible que , lorsqu'un utilisateur s'inscrit et commande en même temps puis soumet le tout, que ma clé étrangère id_membre de la table "reserver" puisse prendre la même valeur que la clé primaire en auto_increment de la table "membre"

Car lorsque je soumet mon inscription et ma commande, j'ai un message d'erreur
Code :
1
2
3
Erreur SQL !INSERT INTO reservation VALUES("", "clef", "etrangere","cle@hot.be", "Renault ZOE", "bruxelles", "2011-1-1", "2012-1-1")
Column count doesn't match value count at row 1
Ce message considère ma clé étrangère comme non affecté par une variable, or j'aimerai qu'elle prenne la valeur de ma clé primaire à ce moment là.

Merci
Biraru est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h01.


 
 
 
 
Partenaires

Hébergement Web