相关疑难解决方法(0)

数组成员的外键约束?

假设我有一个包含工作角色的表:

CREATE TABLE roles
(
  "role" character varying(80) NOT NULL,
  CONSTRAINT "role" PRIMARY KEY (role)
);
Run Code Online (Sandbox Code Playgroud)

假设我还有一个表、用户,并且每一行(一个特定用户)可以有任意数量的工作角色:

CREATE TABLE users
(
  username character varying(12) NOT NULL,
  roles character varying(80)[] NOT NULL,
  CONSTRAINT username PRIMARY KEY (username)
);
Run Code Online (Sandbox Code Playgroud)

我应该确保每个成员都users.roles[]存在于roles.role 中。在我看来,我想要的是对每个成员的外键约束users.roles[],如果引用了roles.role。

这对于 postgres 似乎是不可能的。我是不是看错了?处理此问题的建议“正确”方法是什么?

postgresql referential-integrity array

31
推荐指数
1
解决办法
3万
查看次数

标签 统计

array ×1

postgresql ×1

referential-integrity ×1