SELECT *
FROM t1
JOIN t2
ON t1.id1 = t2.id2
會在MySQL上產生這些表的JOIN。如何將結果存儲在第三個表中而不必逐列定義。CREATE TABLE LIKE a JOIN
我試過這個來創建第三個表,但它不起作用。
CREATE TABLE t3 LIKE
(
SELECT *
FROM t1
JOIN t2
ON t1.id1 = t2.id2
) a
SELECT *
FROM t1
JOIN t2
ON t1.id1 = t2.id2
會在MySQL上產生這些表的JOIN。如何將結果存儲在第三個表中而不必逐列定義。CREATE TABLE LIKE a JOIN
我試過這個來創建第三個表,但它不起作用。
CREATE TABLE t3 LIKE
(
SELECT *
FROM t1
JOIN t2
ON t1.id1 = t2.id2
) a
如果你想在新表中包含您的SELECT
結果:
CREATE TABLE t3 SELECT * FROM t1 JOIN t2 ON t1.id1 = t2.id2
或者,如果你只是希望它立足於加入的模式:
CREATE TABLE t3 SELECT * FROM t1 JOIN t2 ON t1.id1 = t2.id2 WHERE FALSE
需要注意的是,如果兩個表包含重複的列名,mysql將會拋出一個錯誤。 – 2012-07-06 22:42:28
@MattGlover:好點。很明顯,在這種情況下,人們必須對這些列進行別名。 – eggyal 2012-07-06 22:43:10
你想讓新表保存'SELECT'的結果,還是隻希望它的模式基於那個結果? – eggyal 2012-07-06 22:38:50