假设我有以下表格
CREATE TABLE plugins (
id int primary key,
type text);
insert into plugins values (1,'matrix');
insert into plugins values (2,'matrix');
insert into plugins values (3,'function');
insert into plugins values (4,'function');
CREATE TABLE matrix_params (
id int primary key,
pluginid int references plugins (id)
);
这一切都按预期工作,但我想添加一个额外的约束,matrix_param 只能引用类型为“matrix”的 pluginid。所以
insert into matrix_params values (1,1);
应该成功但是
insert into matrix_params values (2,3);
应该失败。
matrix_params 的简单约束不起作用,因为它无法知道 plugins 表中的相应类型是什么。