1452: Cannot add or update a child row: a foreign key constraint fails
MySQLNe 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.