回答

收藏

PostgreSQL检查外键条件的约束

技术问答 技术问答 183 人阅读 | 0 人回复 | 2023-09-13

我有一个用户表,比如:4 _) k7 H3 `) l$ \$ W# N2 x: ], X
create table "user"  id serial primary key,   name text not null,   superuser boolean not null default false);有工作的桌子:
+ U7 J" [8 v7 l6 `: i. V2 v/ dcreate table job  id serial primary key,   description text);作业可以分配给用户,但只能分配给超级用户。其他用户不能分配作业。
5 ^  I. V0 r+ X- B因此,我有一个表格,可以查看哪个作业分配给哪个用户:7 V% n9 [6 J  v* `9 x
create table user_has_job (    user_id integer references "user"(id),   job_id integer references job(id),   constraint user_has_job_pk PRIMARY KEY (user_id,job_id));但是,我想创建一个检查约束user_id引用有用户user.superuser = True。
" \# g, a  E' v9 J3 y9 V可能吗?还有其他解决方案?8 h, A( `' X# B9 r; ~9 @) S5 k: O3 c
                                                               
. d8 ?$ ~: J* y2 ~; X. m  O- E  S    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则