小编sma*_*c89的帖子

DROP TABLE ... CASCADE 不删除任何依赖表

我对 psql 还是比较新的,当我决定尝试删除其他表由于外键关系而依赖的表时,我刚刚完成一项作业。我的期望是,任何对我要删除的表有外键引用的表都会(至少)删除它们的所有行并且该表也被删除。此情况并非如此。这些表仍然存在,即使我指定了CASCADE,这些表的行也没有发生任何变化。

但是TRUNCATE ... CASCADE,在引用的表上使用实际上会删除其他表中的行

编辑: 好的,我理解它这样做是因为这是文档指定的方式,但我现在的问题是,这是什么时候预期的行为?

  • 使用 CASCADE 删除域会删除使用该域的任何表中的每一列。
  • 删除带有附加视图的表将删除该视图。

为什么删除一个被其他表引用的表不会删除引用这个表的表是有意义的?方便吗?

postgresql foreign-key drop-table cascade

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

cascade ×1

drop-table ×1

foreign-key ×1

postgresql ×1