create table ステートメントを使用せずに、各列タイプを指定せずに、select ステートメントから一時 (セッションのみ) テーブルを作成することは可能ですか? 派生テーブルでこれが可能であることは知っていますが、それらは超一時的 (ステートメントのみ) であり、再利用したいと考えています。
create table コマンドを作成して、列リストと型リストを一致させておく必要がなければ、時間を節約できます。
create table ステートメントを使用せずに、各列タイプを指定せずに、select ステートメントから一時 (セッションのみ) テーブルを作成することは可能ですか? 派生テーブルでこれが可能であることは知っていますが、それらは超一時的 (ステートメントのみ) であり、再利用したいと考えています。
create table コマンドを作成して、列リストと型リストを一致させておく必要がなければ、時間を節約できます。
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 権限が必要です。
次の構文を使用します。
CREATE TEMPORARY TABLE t1 (select * from t2);
選択する前にエンジンが必要です:
CREATE TEMPORARY TABLE temp1 ENGINE=MEMORY
as (select * from table1)
ENGINE=MEMORY
BLOB
テーブルに/TEXT
列が含まれている場合はサポートされません