Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

foreign key originale sous postgreSQL

1 réponse
Avatar
Etienne SOBOLE
salut.

j'ai un site sur lequel on peut placer un commentaire sur des articles, des
photos, et quelques autre trucs.
j'ai donc
une table article
une table photo
et une table commentaire.

j'aimerai savoir s'il est possible de faire une clé etrangère qui permettrai
de lier un commentaire a un élément (que ce soit une photo ou un article) un
truc du genre

table commentaire (
"idcomment" serial,
"description" text,
"tableobjet" text ???,
"idelement" integer;
foreign key (tableobjet, idelement) REFERENCES photo (idphoto) OR
article (idarticle)
)

enfin voila.
je me doute que c'est pas ca mais c'est ca l'idée !
y a un moyen sans en arrivé aux triggers.

Et avec les triggers ca donnerai quoi ?

merci
Etienne

1 réponse

Avatar
Patrick Mevzek
Le Wed, 12 Dec 2007 22:35:08 +0100, Etienne SOBOLE a écrit:
table commentaire (
"idcomment" serial,
"description" text,
"tableobjet" text ???,
"idelement" integer;
foreign key (tableobjet, idelement) REFERENCES photo (idphoto) OR
article (idarticle)
)

enfin voila.



Non ce n'est pas possible tel quel.
Une des solutions est de créer une autre table, qui ne contient
que les ids des articles/photos avec un autre attribut qui donne le type
(articles ou photos).
Les ids des tables articles et photos référencent les clefs de cette table.
Et alors dans la table commentaire vous pouvez faire une référence propre
à 2 attributs vers cette table unique.

je me doute que c'est pas ca mais c'est ca l'idée !
y a un moyen sans en arrivé aux triggers.

Et avec les triggers ca donnerai quoi ?



Je passe mon tour pour le moment :-)

--
Patrick Mevzek . . . . . . . . . . . . . . Dot and Co
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>