我可以在数据库上创建约束以确保通过外键链接的不同表中的列之间存在某种关系吗?因此,作为示例,我可以确保表中的某行的某个列的值大于它引用的另一张表中某行的列中的值。
因此,您可能天真地认为它看起来像:
CREATE table1 (
id integer PRIMARY KEY,
col1 integer
);
CREATE table2 (
id integer PRIMARY KEY,
link_to_1 integer REFERENCES table1,
col2 integer,
-- Is there some way of specifying the following constraint?
CHECK (col2 > link_to_1.col1)
);
因此table1
中的行永远不能有col1大于col2
行中的link_to_1
值的项。
因此,显然,此约束将阻止您随后将table1.col1
值修改为高于table2.col2
值的值。