foreign ejemplo drop delete constraint mysql sql foreign-keys

ejemplo - foreign key mysql phpmyadmin



1452-No se puede agregar o actualizar una fila secundaria: falla una restricción de clave externa (4)

Estoy recibiendo este error:

1452 - No se puede agregar o actualizar una fila secundaria: falla una restricción de clave externa.

Los he localizado e intento deshacerme de las referencias con

alter table tillhör drop foreign key kat_id;

Pero obteniendo este error en su lugar:

# 1025 - Error al cambiar el nombre de ''. / Recept / tillh @ 1ir'' a ''. / Recept # sql2-1570-3cb'' (errno: 152).

¿Qué hago mal?


Antes de consultar ejecutar

SET FOREIGN_KEY_CHECKS=0

luego configúralo en 1 después de que hayas terminado.


Cuando tuve este problema, se debió al hecho de que olvidé especificar NULLS permitidos al crear los campos de identificación de clave externa. Lo cambié después del hecho, pero los 0 ya estaban en el valor. No pudo encontrar 0 en la tabla coincidente, y luego dio este error. La solución: actualizar los valores de cero a nulos.


Me enfrento al mismo problema. Resuelvo este problema borrando, es decir, borrando todos los datos de la tabla secundaria y con éxito.

Esto ocurre si la tabla secundaria contiene algunos datos con la clave externa que no están en la tabla principal, es decir, si hay dos tablas llamadas Persona (con ID de columna, nombre, dirección) y orden (con ID de columna, person_id, order_name); order.person_id es la clave externa de person.id y la tabla de pedidos contiene person_id que no está presente en la tabla de personas .

Puedes resolver esto usando la siguiente consulta

Delete from order where person_id NOT IN (select id from person where person.id = order.person_id)


Tiene que establecer nulos en su tabla de padre a hijo o establecer los mismos valores, por ejemplo, tabla de niño primero nam = Derick nombre de tabla de Parent = Derick