【MySQL】CREATE … SELECT …文
create文の後ろにselect文をつけて、テーブルを作成しながらデータも入れてしまうSQLを書くことができます。
素直に次のように書けば、まず普通の動きをします。
検索結果のデータをもとに、新しいテーブルを作ります。
create T select * from T2;
テーブル定義付きのcreate文でもselectを付けることができます。
create T (x int) select * from T2;
この場合、明示したxというカラムの後ろに、selectしたカラムが続く形のテーブルになります。
ただし、xというカラムがT2にある場合は違います。
後ろに付けるselect文の中で、カラムの別名としてxを付けた場合も同様です。
意図してやるならよいですが、混乱を招きそうなので、無難に2文に分けたほうがよいと思ったのでした。
create T (x int, y int); insert into T (x, y) select x, y from T2;
コメント