2012-02-15 19 views

Respuesta

15

Puede usar la declaración CREATE TABLE ... SELECT.

CREATE TABLE new_table 
    SELECT * FROM table1 
    UNION 
    SELECT * FROM table2; 
+0

Sí Su funcionamiento no sé por qué estaba intentando CREAR TABLA new_table ( SELECCIONAR * FROM table1 UNION SELECCIONAR * FROM table2); –

+0

Sí, sin paréntesis, ¡funciona! – netluke

1
create table new_table as 
select col1, col2 from table1 
union 
select col1, col2 from table2 

Asegúrese de que selecciona mismo conjunto de columnas de las tablas en la unión.

+0

mysql arroja un error si intenta ajustar la consulta de unión entre paréntesis. omitir el paréntesis hizo el truco para mí, como lo sugiere la respuesta de @ devart – s2t2

0

O incluso puede definir explícitamente la creación de tabla (que generalmente utilizamos en nuestro proyecto).

CREAR TABLA SI NO EXISTE auditlog (

varchar user_id (30) NOT NULL DEFAULT '',

varchar user_ip (255) NOT NULL DEFAULT '',

..... ... ........

CLAVE IE1 motor

unión = (auditlog_2, auditlog_3, auditlog_4) (user_id)) = = fusionar INSERT_METHOD última;

Cuestiones relacionadas