如何在 PostgreSQL 中的数组上添加外键约束?
How to add Foreign key constraint on array in PostgreSQL?
如何在 PostgreSQL 中对数组添加外键约束?
look_up table 角色
CREATE TABLE party_role_cd
(
party_role_cd bigint NOT NULL,
code character varying(80) NOT NULL,
CONSTRAINT party_role_cd PRIMARY KEY (party_role_cd)
);
派对可以有零个或多个角色[0-N 关系]
CREATE TABLE party
(
party_id biging NOT NULL,
party_role_cd bigint[] NOT NULL,
CONSTRAINT party_id PRIMARY KEY (party_id)
);
如何在 party
table 中为 party_role_cd array
添加 foreign key
约束?
PostgreSQL 中没有实现。目前,FK 约束仅对整个列值之间的相等性起作用。没有 array-to-element 参考。有一个 2010 年添加的未完成的 TODO 项。请参阅:
- https://wiki.postgresql.org/wiki/Todo#Referential_Integrity
- https://www.postgresql.org/message-id/1288033876.6278.6.camel@vanquo.pezone.net
甚至有人尝试实施它,但从未完成。
如何在 PostgreSQL 中对数组添加外键约束?
look_up table 角色
CREATE TABLE party_role_cd
(
party_role_cd bigint NOT NULL,
code character varying(80) NOT NULL,
CONSTRAINT party_role_cd PRIMARY KEY (party_role_cd)
);
派对可以有零个或多个角色[0-N 关系]
CREATE TABLE party
(
party_id biging NOT NULL,
party_role_cd bigint[] NOT NULL,
CONSTRAINT party_id PRIMARY KEY (party_id)
);
如何在 party
table 中为 party_role_cd array
添加 foreign key
约束?
PostgreSQL 中没有实现。目前,FK 约束仅对整个列值之间的相等性起作用。没有 array-to-element 参考。有一个 2010 年添加的未完成的 TODO 项。请参阅:
- https://wiki.postgresql.org/wiki/Todo#Referential_Integrity
- https://www.postgresql.org/message-id/1288033876.6278.6.camel@vanquo.pezone.net
甚至有人尝试实施它,但从未完成。