Sto usando MySQL. Ho una tabella chiamata EMP e ora devo creare un'altra tabella (EMP_TWO) con lo stesso schema, stesse colonne e stessi vincoli. Come posso fare questo?
Sto usando MySQL. Ho una tabella chiamata EMP e ora devo creare un'altra tabella (EMP_TWO) con lo stesso schema, stesse colonne e stessi vincoli. Come posso fare questo?
Risposte:
Per creare una nuova tabella basata su un'altra struttura / vincoli di tabelle utilizzare:
CREATE TABLE new_table LIKE old_table;
Per copiare i dati, se necessario, utilizzare
INSERT INTO new_table SELECT * FROM old_table;
Attenzione alle note sull'opzione MI PIACE:
Utilizzare LIKE per creare una tabella vuota basata sulla definizione di un'altra tabella, inclusi eventuali attributi di colonna e indici definiti nella tabella originale:
CREATE TABLE new_table LIKE original_table; La copia viene creata utilizzando la stessa versione del formato di archiviazione della tabella della tabella originale. Il privilegio SELECT è richiesto sulla tabella originale.
LIKE funziona solo per le tabelle di base, non per le viste.
CREATE TABLE ... LIKE non conserva le opzioni della tabella DATA DIRECTORY o INDEX DIRECTORY specificate per la tabella originale o qualsiasi definizione di chiave esterna.
LIKEin una CREATEdichiarazione.
CREATE TABLE new_db.new_table LIKE old_db.old_table:)
Perché non vai così
CREATE TABLE new_table LIKE Select * from Old_Table;
oppure Puoi filtrare i dati in questo modo
CREATE TABLE new_table LIKE Select column1, column2, column3 from Old_Table where column1 = Value1;
Per avere lo stesso vincolo nella tua nuova tabella prima dovrai creare lo schema, quindi dovresti andare per i dati per la creazione dello schema
CREATE TABLE new_table LIKE Some_other_Table;
likee select *in una dichiarazione? ricevo un errore. Inoltre si prega di controllare questa risposta stackoverflow.com/questions/10147565/create-table-like-a1-as-a2