Borrar datos de las tablas con constrains mysql

Un dia quise vaciar una tabla pero me salió un error que decía que esa tabla tenia llaves foráneas y entonces no pudo completar la acción y eso esta bien por que si borras datos con llaves foráneas referenciadas, la integridad de tus datos no va ser muy confiable entonces, esta bien que salga ese error, pero lo malo es que como estaba en un ambiente de desarrollo, queria borrar los datos para resetear la base de datos ya que los datos de prueba que ya tenia, tenian que ser eliminados entonces, decidi googlear el problema y encontre la solución mas optima.

este es el error:

ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (mytest.instance, CONSTRAINT instance_ibfk_1 FOREIGN KEY (GroupID) REFERENCES mytest.mygroup (ID))

Para solucionarlo tendremos que tener permisos para poder ejecutar el siguiente comando:


SET FOREIGN_KEY_CHECKS = 0;

Despues ejecutar tus TRUNCATE

TRUNCATE table1;

 

Y al final volver a activar la bandera que revisa las constrains.


SET FOREIGN_KEY_CHECKS = 1;

Ya con eso resuelves el problema de que no te deja borrar tus datos de una tabla con constrains..

Link de referencia stackoverflow

Leave a Reply

Your email address will not be published. Required fields are marked *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.