547: The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint
SQL ServerNe demek?
İşlem bir FOREIGN KEY veya CHECK constraint'ini ihlal etti. Ya var olmayan bir üst kayda referans verildi ya da bir CHECK kuralına uymayan değer yazıldı ya da hâlâ referans verilen bir üst kayıt silinmeye çalışıldı.
Neden olur?
FK: eklenen alt satırın işaret ettiği üst kayıt yok. DELETE/UPDATE: silinmek/değişmek istenen üst satıra bağlı alt satırlar var. CHECK: sütun değeri tanımlı koşulu sağlamıyor.
Nasıl çözülür?
Önce ilgili üst (parent) kaydı ekleyin, sonra alt kaydı ekleyin. Silme için önce bağımlı satırları temizleyin veya uygunsa ON DELETE CASCADE tanımlayın. CHECK ihlalinde değeri kurala uygun hâle getirin. Hangi constraint'in ihlal edildiğini hata metnindeki constraint adından belirleyin.
Aynı motorda diğer kayıtlar
- 1205Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim
- 2627Violation of PRIMARY KEY / UNIQUE KEY constraint. Cannot insert duplicate key in object
- 2601Cannot insert duplicate key row in object with unique index. The duplicate key value is ...
- 18456Login failed for user
- 8152String or binary data would be truncated
- 2628String or binary data would be truncated in table, column ...; truncated value
- 1222Lock request time out period exceeded