mysql elimina los datos del índice de enlaces externos
No se puede eliminar o actualizar una fila principal: falla una restricción de clave externa La solución al problema
Consulta: DELETE FROM goods
WHERE goods_id
= '11'
Código de error: 1451
No se puede eliminar o actualizar una fila principal: falla una restricción de clave externa ( webDB
. goods_properties_detail
, CONSTRAINT FK_rip_43
FOREIGN KEY ( goods_id
) REFERENCIAS goods
( goods_id
)) Lo
anterior se debe a que un determinado campo del registro se utiliza como enlace externo a otra tabla en InnoDB. El enlace externo se comprobará automáticamente durante la operación de eliminación.
Solución 1: Primero determine eliminar los datos asociados y luego elimínelos (esto está más en línea con la lógica empresarial y es más seguro).
Solución 2: No verifique los enlaces externos, configure la variable FOREIGN_KEY_CHECKS:
SET FOREIGN_KEY_CHECKS = 0;
DELETE FROM `goods` WHERE `goods_id` = '11'
Establecer después de eliminar
SET FOREIGN_KEY_CHECKS = 1;
ps: desactivar la comprobación de unicidad
set unique_checks=0;
set unique_checks=1;