DBAtlas · Veritabanı operasyon atlası

ORA-02292: integrity constraint violated - child record found

Oracle

Ne demek?

Bir üst (parent) satır silinmeye ya da anahtarı değiştirilmeye çalışıldı, ancak ona bağlı alt (child) kayıtlar bulunduğu için foreign key constraint'i buna izin vermedi.

Neden olur?

Alt tabloda kayıtları olan bir üst satırı DELETE etmeye çalışmak; FK'nın ON DELETE CASCADE olmadan tanımlı olması; bağımlı kayıtların önce temizlenmemesi.

Nasıl çözülür?

Önce bağımlı alt kayıtları silin ya da başka bir üst kayda taşıyın, ardından üst satırı silin. İş kuralı uygunsa foreign key'i ON DELETE CASCADE olacak şekilde yeniden oluşturun: ALTER TABLE alt DROP CONSTRAINT fk_ad; ALTER TABLE alt ADD CONSTRAINT fk_ad FOREIGN KEY (sutun) REFERENCES ust(anahtar) ON DELETE CASCADE; Bağlı satırları bulmak için alt tabloyu üst anahtara göre sorgulayın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar