【发布时间】:2020-10-21 22:48:01
【问题描述】:
如果一个父表有多个子表,在父表上声明ON DELETE CASCADE不是更有意义吗?这样,就不必在每个子表上添加ON DELETE CASCADE。
【问题讨论】:
-
父表应该如何“知道”何时定义新的子表?
标签: sql database postgresql database-design
如果一个父表有多个子表,在父表上声明ON DELETE CASCADE不是更有意义吗?这样,就不必在每个子表上添加ON DELETE CASCADE。
【问题讨论】:
标签: sql database postgresql database-design
首先 - 很明显 - 您可能不希望在所有外键关系上使用 on delete cascade。每个外键都可以有自己的行为,这在定义外键的地方定义。
也很重要。删除行为是在与将要发生删除的表关联的属性上分配的。这比让主表决定只删除一堆其他表中的记录更符合 SQL 的精神和理智。
【讨论】: