作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有 4 个相关的表,如下图所示
广告
--> 可广告
<-- advertisable_product
--> 产品
3个->
的含义如下,它们都是OneToOne
相关的
ad
具有 advertisable
的 FK(可为空)advertisable_product
具有 advertisable
的 FKadvertisable_product
具有 product
的 FK我已在 3 上设置删除级联约束。
问题是:当 product
被删除时,advertisable_product
会被删除级联约束自动删除,但是如何使其也删除 advertisable
并将 ad
中的 FK 设置为 null。
我能想到的唯一方法是编写一个触发器来做到这一点。有没有更好的解决方案或更好的设计来实现这一点?
欢迎任何建议或评论,谢谢~
最佳答案
这是不可能的。根据 FK 逻辑,可能还有另一种产品与可广告相关。
假设有 1 个可广告 - “A1”和 2 个产品“P1”和“P2”。advertisable_product 有 2 条记录
A1 P1
A1 P2
现在您删除“P1”。 “A1 P1”被级联删除,但“A1”无法删除,因为它在“A1 P2”中使用了
关于mysql表多外键级联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22341402/
我是一名优秀的程序员,十分优秀!