【发布时间】:2021-09-27 05:49:45
【问题描述】:
我有一个不是我设计的 postgres 数据库,但我有一些表具有引用其他表的主键 (PK) 的外键 (FK)。我画了一个漂亮的小图来展示这一点:
所以你可以看到我有 (3) 三个模式,它们会有正常的名称,但为了使这个示例变得简单/简单,我只是将它们称为 schema1、schema2 和 schema3。现在,以 table A 为例,有 (3) 三个外键,分别引用 table B、table D 和 table E 直接。
我对研究/谷歌搜索的预期行为是,如果您删除父表(具有子表中外键引用的主键的表),则子表行删除应该自动进行。
我没有看到这种行为 - 也就是说,如果我从 表 A 中删除一条记录,该记录引用 (3) 三个其他表(表 B、表 D 和表 E),则表 A 中的记录被删除,但其他表中的所有记录都保留。
我希望能够以最简单的方式删除记录,并让所有其他引用的表也自动删除。我怎样才能做到这一点?
【问题讨论】:
标签: java postgresql database-design foreign-keys primary-key