Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/08/2015, 06:14
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Error Code: 1701.

Cita:
Intento hacer un TRUNCATE de la tabla JOB, pero me da este error:

Código MySQL:
Código MySQL:
Ver original
  1. Error Code: 1701. Cannot truncate a table referenced in a foreign key constraint
  2. (`elea`.`favorites`, CONSTRAINT `FAVORITES_JOB_FK` FOREIGN KEY (`JOB_ID`) REFERENCES `elea`.`job` (`ID`))
Eso no es un error de MySQL, es un error tuyo.
Estás intentando borrar una tabla con valores que son FK en otra tabla, y están siendo usados en esa tabla.

Lo que hace MySQL es proteger la integridad referencial de las metidas de pata de los que usan la base, como en este caso. Como uno o más valores de esa tabla son FK en uso en otra, no te permitirá truncar la tabla a menos que vacíes la otra tabla también.
¿Se entiende?

Además, desconoces completamente cómo hace MySQL para truncar las tablas, pero si lees el manual de referencia verás que TRUNCATE es una sentencia proclive a errores en tablas InnoDB cuando hay FK definidas en alguna relación.

Debes eliminar los registros que hacen referencia a esa tabla si quieres truncarla.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)