web-dev-qa-db-ja.com

MYSQL:ユニオンを使用して2つのテーブルを1つにマージします

他の2つのテーブルからテーブルを作成する必要があります(そして和集合を使用する必要があります)。機能するクエリは次のとおりです。

SELECT * FROM tabel1
UNION
SELECT * FROM tabel2

今私がしなければならないことは、この結果(データ)をtable3(table1とtable2と同じ列を持つ私がすでに持っているテーブル)に入れることです。

誰が私を助けられるか?

5
user1947863
INSERT INTO table3 
SELECT * FROM tabel1
UNION
SELECT * FROM tabel2

3つすべてに同じ列があるため...

一般的なケースでは、次のような列リストを操作する必要があります

INSERT INTO table3 (col1, col2, col3)
SELECT col1, col2, col3 FROM tabel1
UNION
SELECT col1, col2, col3 FROM tabel2

このようにして、auto_incrementid-columnsの問題を回避します。また、UNIONは重複する行を除外するため、大きなテーブルでは時間がかかるため、UNION ALLの使用を検討する必要があります。

19
cars10m