No es una buena idea establecer una restricción de clave externa en 0, porque si lo hace, su base de datos no garantizaría que no esté violando la integridad referencial. Esto podría conducir a datos inexactos, engañosos o incompletos.
Usted crea una clave foránea por una razón: porque todos los valores en la columna secundaria serán los mismos que los valores en la columna primaria. Si no hay restricciones de clave externa, una fila secundaria puede tener un valor que no está en la fila principal, lo que conduciría a datos inexactos.
Por ejemplo, supongamos que tiene un sitio web para que los estudiantes inicien sesión y todos los estudiantes deben registrarse para obtener una cuenta como usuario. Tiene una tabla para identificadores de usuario, con ID de usuario como clave principal; y otra tabla para cuentas de estudiantes, con la identificación del estudiante como columna. Dado que cada estudiante debe tener una identificación de usuario, tendría sentido hacer que la identificación de estudiante de la tabla de cuentas de estudiantes sea una clave externa que haga referencia a la identificación de usuario de la clave principal en la tabla de ID de usuario. Si no hay comprobaciones de claves externas, un estudiante podría terminar teniendo una identificación de estudiante y ninguna identificación de usuario, lo que significa que un estudiante puede obtener una cuenta sin ser un usuario, lo cual está mal.
Imagínese si le sucede a una gran cantidad de datos. Es por eso que necesita la verificación de clave externa.
Es mejor averiguar qué está causando el error. Lo más probable es que esté intentando eliminar de una fila principal sin eliminar de una fila secundaria. Intente eliminar de la fila secundaria antes de eliminar de la fila primaria.