级联删除可能会导致循环

时间:2013-02-07 16:36:07

标签: sql sql-server

我有一个名为Request的表和一个名为LoadingBase的表。 “请求”具有装载位置和卸载位置。这两个信息都保存在LoadingBase中。

例如:

请求#123 ......

  • 引用LoadingBase#567作为加载信息
  • 引用LoadingBase#568作为卸载信息

所以我有外键关系:

  • FK_Requests_LoadingBases_Loading_ID(删除规则:无操作)
  • FK_Requests_LoadingBases_Unloading_ID(删除规则:无操作)

现在我想设置CASCADING DELETE。

当我为第一个FK(删除规则:级联)设置并保存时,保存成功。

当我尝试第二个FK时,我收到以下错误:

'LoadingBases'表已成功保存 '请求'表 - 无法创建关系'FK_Requests_LoadingBases_Loading_ID' 在表'请求'上引入FOREIGN KEY约束'FK_Requests_LoadingBases_Loading_ID'可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。 无法创建约束。查看以前的错误。

有人知道如何在这种情况下执行级联删除吗?

感谢。

0 个答案:

没有答案