1451: Cannot delete or update a parent row: a foreign key constraint fails
MySQLNe demek?
Bir üst (parent) satırı silmeye ya da anahtarını değiştirmeye çalıştınız, ancak ona bağlı alt (child) satırlar bulunduğu için foreign key constraint'i buna izin vermiyor.
Neden olur?
Referans alınan üst satırın hâlâ çocuk kayıtlara sahip olması ve constraint'in ON DELETE/UPDATE için RESTRICT/NO ACTION davranışında olması.
Nasıl çözülür?
Önce bağlı alt kayıtları silin ya da başka bir üst kayda taşıyın, sonra üst satırı silin. Otomatik davranış istiyorsanız constraint'i ON DELETE CASCADE veya ON DELETE SET NULL ile yeniden tanımlayın. Bağlı satırları bulun: SELECT * FROM cocuk_tablo WHERE fk_sutun = deger.