DBAtlas · Veritabanı operasyon atlası

1452: Cannot add or update a child row: a foreign key constraint fails

MySQL

Ne demek?

Bir alt (child) satırı ekliyor ya da güncelliyorsunuz, ama işaret ettiği üst (parent) anahtar değeri referans tabloda yok; foreign key constraint'i reddediyor.

Neden olur?

Var olmayan bir üst anahtara referans veren INSERT/UPDATE, verilerin yanlış sırayla yüklenmesi (önce çocuk) veya üst kaydın silinmiş olması.

Nasıl çözülür?

Önce ilgili üst kaydı ekleyin, sonra alt kaydı ekleyin. Referans değerinin var olduğunu doğrulayın: SELECT * FROM ust_tablo WHERE anahtar = deger. Toplu yüklemede ebeveyn-çocuk sırasını koruyun. Yalnızca kontrollü bakım işlemlerinde SET FOREIGN_KEY_CHECKS=0 kullanın ve iş bitince tekrar 1 yapın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar