2012-02-15 128 views

回答

15

您可以使用CREATE TABLE ... SELECT聲明。

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

是它的工作我不知道我爲什麼tryng CREATE TABLE new_table( SELECT * FROM table1 UNION SELECT * FROM table2); – 2012-02-15 11:31:16

+0

是的,沒有括號它的工作! – netluke 2017-08-29 12:35:29

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

務必從表中選擇的工會同組列。

+0

如果您嘗試在括號中包裝聯合查詢,mysql將引發錯誤。如@ devart的回答所暗示的,省略括號對我來說是個訣竅 – s2t2 2013-07-19 20:58:07

0

甚至你可以明確地定義創建表(我們通常在我們的項目中使用)。

CREATE TABLE IF NOT EXISTS審計日誌(

USER_ID VARCHAR(30)NOT NULL默認 '',

user_ip VARCHAR(255)NOT NULL默認 '',

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

KEY IE1(USER_ID))

工會=(auditlog_2,auditlog_3,auditlog_4)引擎=合併INSERT_METHOD =最後;