martes, 7 de agosto de 2012

Snippet - Clonando una tabla en MySQL

El siguiente Snippet tiene como finalidad el crear una tabla nueva con las mismas columnas de una tabla existente, el clonado de tablas lo podemos hacer con MySQl haciendo uso de la sentencia CREATE con LIKE y si queremos que la tabla nueva contenga los mismos registros utlizaremos la sentencia INSERT de forma compuesta.

Para clonar una tabla sin registros lo podemos hacer de la siguiente manera:

CREATE TABLE tabla_nueva like tabla_existente;

Para copiar los registros de una tabla a otra lo podemos hacer de la siguiente manera:

INSERT INTO tabla_nueva SELECT * FROM tabla_existente;

Nota: La estructura de la "tabla_nueva" será exactamente igual a la "tabla_existente" con 2 excepciones:

  • No copia las claves foráneas
  • No copia datos o indices de directorios que pueda tener uso de la tabla_existente