2011-11-22 13 views
7

Come duplicare una tabella con le chiavi & conservate le altre funzioni della struttura? compresa la chiave primaria, le chiavi esterne e gli indici.Come duplicare una tabella con le chiavi e altre caratteristiche della struttura mantenute in MySQL?

Questo può essere fatto con una singola query MySQL?

Sto usando "create table newtable as select ..." ma questo metodo rende persi tutti gli indici &.

+1

È possibile attivare gli indici dopo la creazione di tabella utilizzando "ALTER TABLE ADD INDEX ...". In questo modo è buono, perché l'inserimento nella nuova tabella sarà più veloce senza indici. – Oroboros102

+0

possibile duplicato di [Come posso prevenire l'SQL injection in PHP?] (Http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – mimarcel

risposta

23

duplicare una tabella da un'altra tabella (con indicizzazione e la struttura) non può essere fatto con una singola query avrete bisogno di 2 query.

1) Per creare una tabella duplicata.

CREATE TABLE Table2 LIKE Table1;

Questo creerà una copia esatta della tabella.

2) Compilare la tabella Duplica con i valori della tabella originale.

INSERT INTO Table2 SELECT * from Table1;

riempirà Table2 con tutti i record fom Table1

5

si può fare in questa query

CREATE TABLE a LIKE b 

dopo è possibile inserire

INSERT INTO a SELECT * FROM b 

leggere ulteriori informazioni in questo article

+0

tks, ottimo metodo:) – jondinham

0

seguente interrogazione crea e dati duplicati.

CREATE TABLE table2 SELECT * FROM table1

Problemi correlati