日期:2014-05-18  浏览次数:21360 次

可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
关系如下   :

create   table   b
(
id   int   primary   key   identity,
name   varchar(50),
)
create   table   c
(
id   int   primary   key   identity   ,
name   varchar(50),
)
create   table   d
(
id   int   primary   key   identity   ,
cid   int   foreign   key   references   c,
did   int   foreign   key   references   b,
name   varchar(50),
)
我用的是SQL   2005。
我在B表两个外键的关系中设置删除规则为层叠。可是报:《可能会导致循环或多重级联路径。请指定   ON   DELETE   NO   ACTION   或   ON   UPDATE   NO   ACTION,或修改其他   FOREIGN   KEY   约束。》
这个错误!怎么解决啊

------解决方案--------------------
ON UPDATE 改成 NO ACTION
------解决方案--------------------
对于一个表中,两个字段都需要设置外键级联删除或更新的,只能设置一个字段,另一个字段必须通过其他方式处理,如:触发器。

SQL Server 2000存在这个问题,SQL Server 2005也存在这个问题。
------解决方案--------------------
支持▲
------解决方案--------------------
我在
B表 --or D???
两个外键的关系中设置删除规则为层叠。可是报:《可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。》
your sql can be successfully executed
if you add a fk on table b , and references table d ,you must add on delete no action or on update no action