DBAtlas · Veritabanı operasyon atlası

23514: check_violation

PostgreSQL

Ne demek?

Bir CHECK constraint'i ihlal edildi. Eklenen ya da güncellenen satır, tabloda tanımlı bir mantıksal koşulu (örn. fiyat > 0) sağlamıyor.

Neden olur?

İş kuralını ihlal eden veri (negatif fiyat, geçersiz durum kodu, tarih aralığı ihlali); uygulama tarafında doğrulama yapılmaması; constraint'in veriye göre çok katı olması; toplu yüklemede kurala uymayan kayıtlar.

Nasıl çözülür?

Hata mesajındaki constraint adına bakarak hangi koşulun ihlal edildiğini bulun; tanımı görün: \d tablo_adi. İhlal eden satırları koşulu tersine çevirerek sorgulayın. Veriyi düzeltin ya da kural gerçekten değiştiyse constraint'i güncelleyin: ALTER TABLE tablo DROP CONSTRAINT ad; ALTER TABLE tablo ADD CONSTRAINT ad CHECK (yeni_kosul);

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar