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

Langage SQL Discussion :

Key reference and table reference don't match


Sujet :

Langage SQL

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Par défaut Key reference and table reference don't match
    Bonjour

    Je m'initie au sql et je suis en train de mettre en oeuvre un MPD tout fourni...tables et champs à implémenter. Je ne fais que suivre le MPD

    J'arrive à la création d'une table qui me pose quelque problèmes..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    -------------------------------------------------------------------------
    mysql> create table J_CLASSE_MATIERE(
        -> fk_j_mat_prof int(4) unsigned zerofill default '0000' not null,
        -> fk_j_classe int(4) unsigned zerofill default '0000' not null,
        -> primary key(fk_j_mat_prof,fk_j_classe),
        -> foreign key(fk_j_mat_prof) references J_MATIERE_PROF(fk_j_matiere,fk_j_prof),
        -> foreign key(fk_j_classe) references CLASSE(cls_id))
        -> TYPE=INNODB;
     
    --------------------------------------------------------------------------
    Il se produit l'erreur suivante:

    --------------------------------------------------------------------------
    ERROR 1239 (42000): Incorrect foreign key definition for 'foreign key without name': Key reference and table reference don't match
    J'avoue que je ne comprends pas...

    Pouvez-vous m'aider?

    Ci-joint le script contenant les autres tables du MPD: pas de pb jusqu'à cette dernière table. Merci.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    La clé étrangère fk_j_mat_prof ne concerne que la colonne du même nom mais fait référence à deux colonnes de la table J_MATIERE_PROF.
    Il manque donc une colonne dans la table pour pouvoir faire référence à la totalité de la clé prmaire de la table J_MATIERE_PROF.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/04/2013, 15h01
  2. Réponses: 4
    Dernier message: 19/12/2011, 13h16
  3. [WD-2007] [REFERENCES] Police table des matières
    Par pommard89 dans le forum Word
    Réponses: 2
    Dernier message: 16/06/2009, 14h16
  4. Ajout de reference à une table (champ) crée
    Par bruce207 dans le forum Requêtes
    Réponses: 3
    Dernier message: 01/08/2008, 17h28
  5. References plusieurs tables
    Par billynirvana dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/04/2005, 11h08

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