2627: Violation of PRIMARY KEY / UNIQUE KEY constraint. Cannot insert duplicate key in object
SQL ServerNe demek?
Bir PRIMARY KEY veya UNIQUE constraint tarafından korunan sütun(lar)a, zaten var olan bir değer eklemeye/güncellemeye çalıştınız. Duplicate key kabul edilmez.
Neden olur?
Aynı benzersiz değerin ikinci kez INSERT edilmesi, UPDATE ile mevcut bir değere çakışma, eksik benzersizlik kontrolü veya eşzamanlı iki isteğin aynı kaydı üretmesi.
Nasıl çözülür?
Eklemeden önce kaydın var olup olmadığını kontrol edin veya MERGE / IF NOT EXISTS kullanın. Idempotent ekleme için "INSERT ... WHERE NOT EXISTS" kalıbını uygulayın. Hatayı yakalayıp anlamlı mesaj döndürün. Gerçekten yinelenen veri hedefliyorsanız constraint'i gözden geçirin. Kimlik üretiminde çakışmayı önlemek için IDENTITY veya SEQUENCE kullanın.
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
- 2601Cannot insert duplicate key row in object with unique index. The duplicate key value is ...
- 547The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint
- 18456Login failed for user
- 8152String or binary data would be truncated