【发布时间】:2021-11-20 21:04:08
【问题描述】:
我想添加一个约束来检查相关表中的值。
我有 3 张桌子:
CREATE TABLE somethink_usr_rel (
user_id BIGINT NOT NULL,
stomethink_id BIGINT NOT NULL
);
CREATE TABLE usr (
id BIGINT NOT NULL,
role_id BIGINT NOT NULL
);
CREATE TABLE role (
id BIGINT NOT NULL,
type BIGINT NOT NULL
);
(如果你想让我对 FK 施加约束,请告诉我。)
我想向somethink_usr_rel 添加一个约束,以检查role 中的type(“两个表之外”),例如:
ALTER TABLE somethink_usr_rel
ADD CONSTRAINT CH_sm_usr_type_check
CHECK (usr.role.type = 'SOME_ENUM');
我尝试使用JOINs 执行此操作,但没有成功。知道如何实现吗?
【问题讨论】:
标签: postgresql database-design foreign-keys constraints referential-integrity