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

Installation MySQL Discussion :

clé primaire composée de 2 clés étrangères


Sujet :

Installation MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 18
    Points : 15
    Points
    15
    Par défaut [RESOLU]clé primaire composée de 2 clés étrangères
    bonjour!

    Je travaille sur une base de données Mysql.
    Les tables sont de type InnoDB pour une meilleure gestion des clés étrangères.
    Mon problème c'est que j'ai une table dont la clé est composé par deux clés étrangères.
    Pour les tables de type MyIsam, je connais la syntaxe mais là je sais pas.
    Voici la syntaxe que je croyais bonne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    create table sponsoriser
    (
    ref_comp int not null,
      index ref_comp_INDEX (ref_comp),
      foreign key (ref_comp) references competition (code_comp) ,
    ref_spons int not null,
      index ref_spons_INDEX (ref_spons),
      foreign key (ref_spons) references sponsor (num_spons),
    constraint cle_sponsoriser primary key (ref_comp, ref_spons)
    ) TYPE = InnoDB;
    J'obtiens l'erreur:
    [srvcross] ERREUR 1005: Can't create table './course/sponsoriser.frm' (errno: 150)

    La table sponsoriser dépend de la table compétition (clé primaire: code_comp) et de la table sponsor (clé primaire: num_spons).
    Un sponsor peut sponsoriser plusieurs compétitions. Une compétition peut être sponsorisée par plusieurs sponsors.

    Merci!

  2. #2
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 275
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 275
    Points : 1 992
    Points
    1 992
    Par défaut
    Pourquoi veux-tu avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    primary key (ref_comp, ref_spons)
    Laisse cela en index avec doublons.
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  3. #3
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    C'est paskeu elle a fé son analyse avec Merise et qu'elle s'est retrouvée avec une assotiation NN

    Pour ton problème, ptet qu'il fo installer un truc supplémentaire pour pouvoir utiliser les tables InnoDB.. chais po

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 18
    Points : 15
    Points
    15
    Par défaut

    En effet, je me suis retrouvée avec une relation de type NN .
    InnoDB est déjà installé. Je crois le problème se situe autre part... .

  5. #5
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Ah, euh, essaye sans les "foreign key (..)"

    8)

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    Je pense que je devrais mettre la clé en AutoIncrement. Les foreign key c'est obligatoire car c'est des tables InnoDB.

    Merci!!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/04/2011, 13h23
  2. Réponses: 1
    Dernier message: 21/10/2009, 16h26
  3. Clé primaire composées de plusieurs clés étrangères
    Par 2berte dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 10/02/2009, 16h56
  4. Réponses: 6
    Dernier message: 01/05/2008, 12h29
  5. Réponses: 2
    Dernier message: 14/12/2007, 22h38

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