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

SQL Procédural MySQL Discussion :

FOREIGN KEY vers deux tables en meme temps


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut FOREIGN KEY vers deux tables en meme temps
    Bonjour,

    J'ai une table table1 qui contient 3 colones (colone1Table1,colone2Table1,valeur).
    colone1Table1 fait référence à table2(colone1Table2) et colone2Table1 fait référence a table3(colone2Table3).

    Il me faut les deux référence pour avoir la valeur de la table1.
    Comment réaliser la construction de ma table table1?
    Il me faudrait quelque chose qui ressemble à ( mais ceci ne fonctionne pas ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE table1 (
       colone1Table1 char(4) NOT NULL,
       colone2Table2 char(4) NOT NULL,
       valeur int(20) NOT NULL,
       INDEX(colone1Table1,colone2Table1),
       PRIMARY KEY(colone1Table1,colone2Table1),
       FOREIGN KEY(colone1Table1,colone2Table1) REFERENCES (table2(colone1Table2),table3(colone2Table3))
         ON DELETE CASCADE
         ON UPDATE CASCADE
    ) type = InnoDB;
    Merci.

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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    il faut spécifier les FK une par une
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    FOREIGN KEY(colone1Table1) REFERENCES ...
    FOREIGN KEY(colone2Table1) REFERENCES ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    Citation Envoyé par qi130 Voir le message
    il faut spécifier les FK une par une
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    FOREIGN KEY(colone1Table1) REFERENCES ...
    FOREIGN KEY(colone2Table1) REFERENCES ...
    Mais alors, dans le cas contrere, comment lui faire comprendre que colone1Table1 ou colone2Table1 sont les deux références pour avoir une valeur de la table1?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    Je suis etonner de voir que personne ne puisse repondre a cette question

  5. #5
    Membre confirmé

    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Par défaut
    Dis moi si je comprends bien :

    Tu as deux tables, par exemple Professeur et une table Administrateur. Tu veux faire une table HeureTravaillée qui peut contenir soit une référence à un Professeur ou une référence à Administrateur.

    La seule solution que je vois, c'est de créer une table Travailleur qui contient toutes les informations commune à Professeur et Administrateur, puis tu référence Professeur, Administrateur et HeureTravaillée vers Travailleur.

    C'est la seule solution que j'ai trouvée.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    CIFQ_Drew, merci d'avoir répondu.
    Mais c'est pas tout a fait ca que je veux.
    Dans mon cas, il y a deux colone dans la table HeureTravaillée qui contient une référence vers une valeur d'une table et une autre référence vers une valeur d'une autre table

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

Discussions similaires

  1. [1.x] Hyperlien vers les foreign key dans les tables
    Par Maze45 dans le forum Symfony
    Réponses: 2
    Dernier message: 08/07/2011, 08h59
  2. [PostgreSql] alimenter deux tables en meme temps
    Par galeo27 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/06/2009, 16h28
  3. Enregister dans deux table en meme temps
    Par Msysteme dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/04/2009, 15h40
  4. Insert dans deux tables en meme temps?
    Par radzar dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/04/2008, 11h33
  5. remplir deux tables en meme temps
    Par rafawel dans le forum Langage SQL
    Réponses: 4
    Dernier message: 14/06/2005, 16h41

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