ALTER TABLE [SchemaName].[TableName] WITH CHECK ADD
CONSTRAINT [FK_TableName_TableName] FOREIGN KEY([Id])
REFERENCES [SchemaName].[TableName] ([Id])
この外部キーは完全に冗長であり、削除するだけで意味がありません。行がそれ自体と一致して制約を検証するため、違反することはありません。
階層テーブルでは、関係は2つの異なる列の間にあります(例:Id
およびParentId
)
オブジェクトエクスプローラーの[キー]ノードを右クリックして[新しい外部キー]を選択し、作成した外部キーを削除せずにダイアログボックスを閉じてから作成すると、ビジュアルデザイナーを使用して作成された可能性が高い理由については、開いたテーブルデザイナで他の変更を加えて保存すると、この種の冗長な制約が作成されます。