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
Partager