ALTER TABLE [SchemaName].[TableName] WITH CHECK ADD
CONSTRAINT [FK_TableName_TableName] FOREIGN KEY([Id])
REFERENCES [SchemaName].[TableName] ([Id])
Kunci asing ini benar-benar berlebihan dan tidak ada gunanya hapus saja. Itu tidak akan pernah bisa dilanggar karena baris cocok dengan dirinya sendiri yang memvalidasi batasan.
Dalam tabel hierarkis, hubungan akan berada di antara dua kolom yang berbeda (mis. Id
dan ParentId
)
Adapun mengapa itu mungkin dibuat sangat mungkin melalui penggunaan desainer visual jika Anda mengklik kanan simpul "Kunci" di penjelajah objek dan memilih "Kunci Asing Baru" lalu tutup kotak dialog tanpa menghapus kunci asing yang dibuat dan kemudian buat beberapa perubahan lain pada desainer tabel yang dibuka dan menyimpannya akan membuat batasan redundan semacam ini.