ALTER TABLE [SchemaName].[TableName] WITH CHECK ADD
CONSTRAINT [FK_TableName_TableName] FOREIGN KEY([Id])
REFERENCES [SchemaName].[TableName] ([Id])
Denna främmande nyckel är helt överflödig och meningslös, bara ta bort den. Den kan aldrig överträdas eftersom en rad matchar sig själv och validerar begränsningen.
I en hierarkisk tabell skulle förhållandet vara mellan två olika kolumner (t.ex. Id
och ParentId
)
Angående varför det kan ha skapats ganska troligt med hjälp av den visuella designern om du högerklickar på noden "Keys" i objektutforskaren och väljer "Ny främmande nyckel" och stänger sedan dialogrutan utan att ta bort den skapade främmande nyckeln och gör sedan några andra ändringar i den öppnade tabelldesignern och spara den kommer att skapa denna typ av redundant begränsning.