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

Administration MySQL Discussion :

Problème avec une clé primaire


Sujet :

Administration MySQL

  1. #1
    Membre habitué Avatar de Saten
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Points : 133
    Points
    133
    Par défaut Problème avec une clé primaire
    Bonjour à tous, j'ai un (gros) souci avec la structure de ma base de données, je n'arrive pas à faire marcher une clé primaire et une étrangère.

    En gros, j'ai 2 tables:

    TABLE1 [ REF(varchar), NOM, TAILLE ]
    TABLE2 [REF(varchar) , DATE, PRIX]

    Je veux relier les 2 "REF" évidement, et il faut bien les mettre tous les deux en clés primaires non?
    Si non, pouvez vous me dire comment faire, et commen cela doit fonctionner pour que je puisse associé donc les PRIX aux NOMS via la clé étrangère REF..
    HELP ME PLZ !

    Merci d'avance.

  2. #2
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 83
    Points : 70
    Points
    70
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    create table ARTICLE
    (
       REF_Table1        varchar(5)                     not null,
       NOM                 varchar(5),
       TAILLE             varchar(5),
       primary key (REF_Table1)
    )
    type = InnoDB;
     
    create table ARTICLE
    (
       REF_Table2        varchar(5)                     not null,
       DATE                varchar(5),
       PRIX                 varchar(5),
       primary key (REF_Table2)
    )
    type = InnoDB;
     
    alter table Table2 add constraint FK_FILS_MARQUE foreign key (REF_Table2)
          references Table1 (REF_Table1) on delete restrict on update restrict;
    ou tu passes cette requette

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Select nom.t1, prix.t2 from table1 t1, table2 t2
    where ref.t1=ref.t2

  3. #3
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 925
    Points : 6 040
    Points
    6 040
    Par défaut
    L'idée est là, mais pas avec 2 fois la table ARTICLE

    Il faut aussi s'assurer que l'option InnoDB est active sur le serveur.

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 950
    Points : 5 849
    Points
    5 849
    Par défaut
    Salut,

    Citation Envoyé par Saten Voir le message
    Je veux relier les 2 "REF" évidement, et il faut bien les mettre tous les deux en clés primaires non?
    Ce n'est pas du tout obligatoire, tout dépend du lien fonctionnel entre les tables.
    Il est assez classique de créer une PK composée de différentes FK sur les tables de mises en relation par exemple.

    Dans ton cas est ce que pour un même REF de table1 il peut être associé plusieurs prix en fonction de la date ?
    Si oui REF dans table2 ne peut pas être une clé primaire.

Discussions similaires

  1. Problème avec une clef primaire
    Par marcbo dans le forum VBA Access
    Réponses: 14
    Dernier message: 23/03/2011, 11h16
  2. Réponses: 1
    Dernier message: 27/07/2007, 08h45
  3. Problème avec une instruction OUTER /Postgres
    Par Volcomix dans le forum Langage SQL
    Réponses: 14
    Dernier message: 21/04/2004, 16h56
  4. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29
  5. Problème avec une procédure stockée
    Par in dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/05/2003, 15h33

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