DBAtlas · Atlas de operaciones de bases de datos

1452: Cannot add or update a child row: a foreign key constraint fails (no se puede añadir/actualizar la fila hija: falla la restricción de clave foránea)

MySQL

¿Qué significa?

Está insertando o actualizando una fila hija, pero el valor de la clave padre al que apunta no existe en la tabla referenciada; la restricción de clave foránea lo rechaza.

¿Por qué ocurre?

Un INSERT/UPDATE que referencia una clave padre inexistente, datos cargados en el orden incorrecto (primero el hijo) o una fila padre eliminada.

Cómo solucionarlo

Inserte primero la fila padre y luego la fila hija. Verifique que el valor referenciado exista: SELECT * FROM parent_table WHERE key_column = value. Respete el orden padre-hijo en las cargas masivas. Use SET FOREIGN_KEY_CHECKS=0 solo en operaciones de mantenimiento controladas y vuelva a ponerlo en 1 al terminar.

Abrir en DBAtlas →

Más entradas de este motor