SQL Server’da Cannot Truncate Table Because It is Being Referenced by a Foreign Key Constraint Hatası

Bu Makaleyi Arkadaşlarınla Paylaş

Herkese merhaba,

Bu yazıda sizlere SQL Server’da cannot truncate table because it is being referenced by a foreign key constraint hatasından bahsedeceğim.

Bu hata ilişkili iki tablo arasındaki tablolardan birine Truncate işlemi uygulanarak verilerin tablodan silinmesi işleminde ortaya çıkar ve tablodan verileri bize sildirmez. Çünkü tablolar arasında ilişki vardır. Diğer ilişkili verilere ise ne olacağına SQL Server karar veremez ve bu konuda bize hata sunarak bilgi verir. Örnek olarak Northwind veritabanında aşağıdaki sorguyu çalıştıralım.

Bize aşağıdaki hatayı verecektir.

Peki çözümü nasıldır? Aşağıdaki kodu yazıyoruz.

Bu sefer de aşağıdaki gibi bir hata döndürecektir.

Bu hatayı gidermek için tablomuz üzerindeki foreign key alanlarını kaldırıyoruz.

Şimdi kodumuzu tekrar çalıştıralım.

Aşağıdaki gibi bir mesaj görmüş olmalısınız.

Şimdi Truncate ile tablomuzun içini boşaltalım.

İşlemi inceleyelim.

Tablomuzun içi boşaldı. Diğer tablolarımızın içini de benzer şekilde boşaltabiliriz. Sonra yeniden foreign key ile yeniden ilişki kurabiliriz.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.