DBAtlas · Veritabanı operasyon atlası

2627: Violation of PRIMARY KEY / UNIQUE KEY constraint. Cannot insert duplicate key in object

SQL Server

Ne 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.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar