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

MySQL Discussion :

2 clés étrangères sur le même champs


Sujet :

MySQL

  1. #1
    Membre averti Avatar de titouille
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    353
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 353
    Points : 356
    Points
    356
    Par défaut 2 clés étrangères sur le même champs
    Bonjour,

    Je me posais la question... admettons que j'aie une table "object" qui contient une liste d'objet. J'ai également une table "actor" qui contient les acteurs du système.

    J'aimerai pouvoir affecter un "propriétaire" d'objet, ainsi qu'un "utilisateur". Un objet est la propriété d'un seul acteur, et est utilisé également par un seul acteur (qu'il soit le propriétaire ou pas).

    Je pensais pouvoir créer deux champs dans la table object, actorid et ownerid, et les lier via une clé étrangère sur le champs actor.actorid. Avoir 2 clés étrangères sur le même champs de la table liée, mais via mysqlAdministrator, il me balance une erreur lorsque je tente de le faire :

    Error executing SQL commands to update table.
    Can't create table './myDB/#sql-71_20.frm' (errno: 150) (error 1005)


    Est-ce qu'il existe un moyen de faire ça, ou suis-je obligé de passer par une table intermédiaire qui contiendrai un champ supplémentaire permettant de spécifier qui est le propriétaire et qui est l'utilisateur ? ça me dérange de devoir faire ça car tout un système (Flex, LCDS, Hibernate, ...) est déjà mis en place et ça demanderai pas mal de modifications au niveau des différentes applications qui tournent dessus.

    J'entrevois également la possibilité de ne pas mettre de clé étrangère, mais ça pourrait corrompre l'intégrité des données.

    Si vous avez des suggestions je suis à l'écoute.

    D'avance merci


    Thierry

  2. #2
    Membre averti Avatar de titouille
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    353
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 353
    Points : 356
    Points
    356
    Par défaut
    bon, 10 min plus tard j'avais ma réponse...

    En passant par la modification du script SQL ça fonctionne correctement, il me permet de créer une clé étrangère supplémentaire sur une même table. ça ne me dis pas pourquoi dans MySQLAdministrator il ne le permet pas, mais au moins ça a l'air fonctionnel

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

Discussions similaires

  1. 2 clés étrangères sur la même table et même attribut
    Par jinar dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/04/2009, 22h55
  2. Réponses: 9
    Dernier message: 28/01/2008, 22h02
  3. MCD->MPD : deux clés étrangères pour le même champ
    Par Eric2000 dans le forum Schéma
    Réponses: 3
    Dernier message: 04/09/2007, 00h44
  4. Réponses: 2
    Dernier message: 31/05/2006, 17h52
  5. Réponses: 4
    Dernier message: 26/04/2006, 14h02

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