Páginas

sábado, 21 de septiembre de 2019

Truncate tabla sin hacer validacion de foreign constraints

Hola Mundo:

¿Cómo les va? Hace tiempo que no pasaba por aquí, porque he estado ocupado desarrollando
productos propios.

El tema de hoy hace referencia a un problema típico de bases de datos, específicamente cuando se quiere hacer un truncate a una tabla que es referenciada desde otras. Al existir restricciones no se puede hacer ni un truncate, ni drop ni delete, aun así cuando la tabla que la referencia está vacía.

Para este caso hay dos opciones:
1) Eliminar los constraint, hacer la operación y luego volver a crear los constraint
2) Desactivar la operación de comprobación de constraint, hacer la operación y volver activarlo.

La opción 2 es una buena medida, que debe ser usada solo en ambiente de laboratorio. El código es el  siguiente

SET FOREIGN_KEY_CHECKS = 0; 
TRUNCATE table1; 
TRUNCATE table2; 
SET FOREIGN_KEY_CHECKS = 1; 

Y eso es todo

No hay comentarios.:

Publicar un comentario