我有两个表以1:M的关系相互关联:parent
和child
。
我已经通过使用外键约束将parent_id
表中的child
列限制为仅匹配parent
的表ID值。现在,我希望第三个表(称为another_table
)具有两个FK列,它们引用id
和parent
表中的child
列。
如何将第三张表中的child_id
FK列限制为child
表中与parent_id
值匹配的值?
编辑
E.G:如前所述,我有三个表-parent
,child
和another_table
。他们的内容如下:
SELECT * FROM public.parent
id name
1 A
2 B
3 C
SELECT * FROM public.child
id name parent_id
1 A1 1
2 A2 1
3 A3 1
4 B1 2
5 C1 3
6 C2 3
SELECT * FROM public.another_table
我想(同时)在数据库结构中找到一种方法,以防止在第三表的child_id
列中插入或更新不符合child
的值的表数据。