我正在尝试为我的应用程序创建一个数据库,我想找到最好的方法是在我的 Users
和 之间创建一对多关系项目
表。
我知道我可以创建第三个表,ReviewedItems
,并将列设置为 User
id 和 Item
id,但是我想知道是否可以在 Users
中创建一个列,比方说 reviewedItems
,它是一个包含 Items
外键的整数数组用户
已审核。
如果 PostgreSQL 可以做到这一点,请告诉我!如果没有,我将沿着我的第三张 table 走下去。
最佳答案
可能很快就可以做到这一点:https://commitfest.postgresql.org/17/1252/ - Mark Rofail 在这个补丁上做了一些出色的工作!
补丁将(一旦完成)允许
CREATE TABLE PKTABLEFORARRAY (
ptest1 float8 PRIMARY KEY,
ptest2 text
);
CREATE TABLE FKTABLEFORARRAY (
ftest1 int[],
FOREIGN KEY (EACH ELEMENT OF ftest1) REFERENCES PKTABLEFORARRAY,
ftest2 int
);
但是,作者目前需要帮助来重新设置补丁(超出我自己的能力),因此任何阅读本文并了解 Postgres 内部原理的人请尽可能提供帮助。
关于每个元素都是外键的 PostgreSQL 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41054507/