2011-11-22 10 views
7

¿Cómo duplicar una tabla con las claves & otras características de estructura conservadas? incluida la clave principal, las claves externas y los índices.¿Cómo duplicar una tabla con claves y otras características de estructura conservadas en MySQL?

¿Se puede hacer esto con una sola consulta MySQL?

Estoy usando "create table newtable as select ..." pero este método hace que se pierdan todas las claves & índices.

+1

Puede activar índices en después de crear la tabla utilizando "ALTER TABLE ADD INDEX ...". De esta manera es bueno, porque la inserción en la nueva tabla será más rápida sin índices. – Oroboros102

+0

posible duplicado de [¿Cómo puedo evitar la inyección SQL en PHP?] (Http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – mimarcel

Respuesta

23

duplicar una tabla de otra tabla (con la indexación y la estructura) no se puede hacer con una sola consulta necesitará 2 consultas.

1) Para crear una tabla duplicada.

CREATE TABLE Table2 LIKE Table1;

Esto creará una copia exacta de la tabla.

2) Complete la tabla Duplicate con los valores de la tabla original.

INSERT INTO Table2 SELECT * from Table1;

llenará Tabla 2 con todos los registros de la Tabla 1 FOM

5

puede hacerlo en esta consulta

CREATE TABLE a LIKE b 

después puede insertar

INSERT INTO a SELECT * FROM b 

leer más información en este article

+0

tks, excelente método:) – jondinham

0

siguiente consulta crea y datos duplicados.

CREATE TABLE table2 SELECT * FROM table1

Cuestiones relacionadas