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.
Más entradas de este motor
- 1114The table is full (la tabla está llena)
- 1215Cannot add foreign key constraint (no se puede añadir la restricción de clave foránea)
- 1451Cannot delete or update a parent row: a foreign key constraint fails (no se puede eliminar/actualizar la fila padre: falla la restricción de clave foránea)
- 1366Incorrect string/integer value for column (valor de cadena/entero incorrecto para la columna)
- 1044Access denied for user to database (acceso denegado del usuario a la base de datos)
- 1264Out of range value for column (valor fuera de rango para la columna)
- 1052Column 'x' in field list is ambiguous (columna ambigua en la lista de campos)