CREATE TABLEを別途使用せずにSELECTステートメントで一時テーブルを作成する 質問する

CREATE TABLEを別途使用せずにSELECTステートメントで一時テーブルを作成する 質問する

create table ステートメントを使用せずに、各列タイプを指定せずに、select ステートメントから一時 (セッションのみ) テーブルを作成することは可能ですか? 派生テーブルでこれが可能であることは知っていますが、それらは超一時的 (ステートメントのみ) であり、再利用したいと考えています。

テーブル作成コマンドを記述して列リストと型リストを一致させる必要がなければ、時間を節約できます。

ベストアンサー1

CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (SELECT * FROM table1)

以下のマニュアルからhttp://dev.mysql.com/doc/refman/5.7/en/create-table.html

テーブルを作成するときに、TEMPORARY キーワードを使用できます。TEMPORARY テーブルは現在のセッションでのみ表示され、セッションが終了すると自動的に削除されます。つまり、2 つの異なるセッションが、互いに競合したり、同じ名前の既存の非 TEMPORARY テーブルと競合したりすることなく、同じ一時テーブル名を使用できます。(既存のテーブルは、一時テーブルが削除されるまで非表示になります。) 一時テーブルを作成するには、CREATE TEMPORARY TABLES 権限が必要です。

おすすめ記事