引用循环:ON DELETE CASCADE?
Posted
技术标签:
【中文标题】引用循环:ON DELETE CASCADE?【英文标题】:Referential cycle: ON DELETE CASCADE? 【发布时间】:2012-12-16 20:25:30 【问题描述】:如果“predmet”是“predmeti”的外键,而“nositelj”是“nastavnici",
如果我将 ON DELETE CASCADE 指定给两个外键并删除其中一个实体,会发生什么?它会产生错误吗?
编辑:我使用的是最新版本的 PostgreSQL。
【问题讨论】:
这是一个糟糕的设计,不是所谓的正常形式。 如果您使用并引用图像,如果它是可读的,它可能会有所帮助What will happen if I specify ON DELETE CASCADE to both foreign keys and delete one of the entities?
我不知道...会发生什么? Would it produce an error?
我不知道……是吗?你试过什么?
密切相关:***.com/questions/8394177/…
【参考方案1】:
阅读您的 RDBMS 手册(您尚未指定)。通常禁止循环级联 - 创建时会出错。
更新:尝试http://sqlfiddle.com/#!1/24df4/2/0 似乎没有被禁止 - 递归删除。
有人非常好心地贬低了我,因为我已经修复了标签,这使我的帖子不正确)
【讨论】:
我使用的是最新的 PostgreSQL。 @Tool 9.2.2?这是最新的现在,但是阅读这篇文章的人呢?以上是关于引用循环:ON DELETE CASCADE?的主要内容,如果未能解决你的问题,请参考以下文章
跨 3 个表的 MySQL 外键“ON DELETE CASCADE”
如何在 ALTER TABLE 语句中添加“ON DELETE CASCADE”
1) 不能在 DELETE SET NULL 或 ON DELETE CASCADE 上创建外键 2) 不能在 DELETE CASCADE 上创建外键