DBAtlas · Veritabanı operasyon atlası

ORA-00001: Unique constraint violated

Oracle

Ne demek?

Bir tabloya eklenen veya güncellenen satır, UNIQUE ya da PRIMARY KEY constraint'ini ihlal ediyor. Yani aynı değer zaten mevcut.

Neden olur?

Aynı anahtar değeriyle tekrar INSERT yapılması, benzersiz olması gereken bir sütuna mükerrer veri girilmesi veya çoğaltma/yeniden çalıştırma sırasında aynı kaydın iki kez işlenmesi.

Nasıl çözülür?

Hata mesajındaki constraint adından hangi sütunun ihlal edildiğini bulun: SELECT column_name FROM all_cons_columns WHERE constraint_name = 'KISIT_ADI'. Mükerrer veriyi bulmak için GROUP BY ... HAVING COUNT(*) > 1 kullanın. Uygulamada var olan kayıt için INSERT yerine UPDATE ya da MERGE kullanın. Sıra (sequence) değeri geride kaldıysa ALTER SEQUENCE ile ilerletin.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar