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

PHP & Base de données Discussion :

Problème avec la création d'une clé étrangère


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Points : 6
    Points
    6
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Essaye d'enlever `greenshare`.
    Ce qui donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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)

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Non ça ne marche pas

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Points : 262
    Points
    262
    Par défaut
    Tu n'aurais pas déjà des valeurs dans tes tables ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. Problème avec la création d'une page d'inscription/connexion
    Par guigui2454000 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 13/06/2014, 12h33
  2. Problème de création d'une clef étrangère
    Par zezee dans le forum Débuter
    Réponses: 2
    Dernier message: 10/11/2009, 14h20
  3. Réponses: 4
    Dernier message: 19/07/2009, 13h51
  4. Réponses: 2
    Dernier message: 29/04/2009, 22h25
  5. Problème a la création d'une clef étrangère
    Par tomy29 dans le forum Administration
    Réponses: 3
    Dernier message: 19/07/2008, 11h07

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