1
我惊讶地发现我可以创建是指在完全相同的表和列定义主键的外键,例如:与同一列FK引用PK
ALTER TABLE dbo.Foo WITH CHECK ADD CONSTRAINT FK_Foo_Foo FOREIGN KEY(FooId)
REFERENCES dbo.Foo (FooId)
我有一个客户数据库与这样一个FK定义,它似乎是完全多余的。
它有什么用途?
注意:这不是等级关系的情况 - FK字段在同一个表中作为父ID而不是不同字段,而是PK字段本身。
用法的一个很好的例子是父母/小孩的风格设计。 – gvee
我不认为这适用,请参阅我的编辑。 –
我没有看到任何可能的用途,除了防止删除。我甚至不知道如果您尝试从此表中删除一行,会发生什么情况。 –