也许这是一个天真的问题......但我认为我们应该总是进行级联删除和更新。但我想知道它是否有问题,何时不应该这样做?我现在真的想不到一个你不想进行级联删除的情况,但我确信有一个......但是如果更新应该总是这么做呢?
那么有人可以列出级联删除和更新的优缺点吗?感谢。
答案 0 :(得分:9)
优点:
缺点
答案 1 :(得分:7)
这取决于表中包含的实体:如果外键的一侧在没有主键一侧的情况下不能存在,则有级联删除是有意义的。
电子。 g。:如果发票被删除,发票行项目无权生存。
但如果你有一个用于关系的外键“适用于”员工与他/她的老板之间的关系,你是否想在老板离开公司时删除该员工?
此外:技术问题是,如果依赖表条目发生更改而某些ORM(对象关系映射)工具发生变化,则不会对它们负责。
答案 2 :(得分:1)
优点:
缺点:
答案 3 :(得分:0)
Pro:它允许您减少执行删除操作所需的SQL语句数量。
Con:您可以删除稍后可能对审核很重要的数据。因此,即使父行已被删除,保持它也很重要。在这种情况下,外键应该接收NULL值,例如。