我有3张桌子
ParentTable
ChildTable
(列ParentId
引用ParentTable
)Recording
(列ParentId
引用自己的表)父表有一个触发器,可以在Recording
表中添加一行。
子表再次有一个在Recording
表
现在我收到一条错误,指出在Recording
表
INSERT语句与FOREIGN KEY SAME TABLE冲突 约束
答案 0 :(得分:0)
您可能会触发重复的ParentID插入到Recording表中。如果您在Recording表中的ParentID上定义了唯一键,则会出现这种情况。
插入Parent表时,将带有ParentID的记录插入到Recording中。我认为你在ChildTable触发器上插入一个重复的ParentID。
也许你可以提供更多的背景信息。
此外,您可能希望尽可能避免使用触发器 - 大部分时间都是如此。使用CTE和OUTPUT子句可以帮助您避免触发器的问题。