上面链接的重复项无法解决问题。他们只讨论了必须解决的可能性。
我需要删除同一表上层叠的一个项目,所以我有:
CREATE TABLE Person
(
id int primary key identity,
name varchar(30) not null,
idFather int
CONSTRAINT fkIdFather FOREIGN KEY (idFather) REFERENCES Person(id) ON DELETE CASCADE
)
我有一个类似select
的结果:
因此,当我删除Jon时:Robert,Alex和Jeff也需要删除。
当我删除爱丽丝时:乔恩,罗伯特,亚历克斯和杰夫也需要删除。
执行此操作时,出现此错误:
在表“人”上引入外键约束“ fkIdFather”可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。
无法创建约束。查看以前的错误。
我该如何解决?