我已经阅读了很多关于“...循环或多路径”错误的解释。但在我看来,我有一个不同的问题,我的约束中没有循环或级联,只是设置null WHERE id_boss = id_work。
CREATE TABLE [dbo].[Workers](
[id_work] [int] NOT NULL,
[id_boss] [int] NULL,
[money] [int] NOT NULL,
CONSTRAINT [PK_Workers] PRIMARY KEY CLUSTERED
(
[id_work] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE Workers ADD CONSTRAINT FK_Boss FOREIGN KEY (id_boss)
REFERENCES Workers (id_work) ON DELETE SET NULL
消息1785,级别16,状态0,行5引入FOREIGN KEY约束 表'工人'上的'FK_Boss'可能导致周期或多个级联 路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改 其他FOREIGN KEY约束。 Msg 1750,Level 16,State 0,Line 5 无法创建约束。查看以前的错误。
感谢您提供任何帮助或解释。 帕维尔
答案 0 :(得分:0)
实际上,您无法添加链接到同一个表的外键。 这就是为什么它调用外来键 - 它应该链接到其他表。
您可以在此处阅读更多细节: http://msdn.microsoft.com/en-us/library/ms175464(v=sql.105).aspx