MySQL5逆引き大全460の極意

データ定義命令の極意 - Tips146 SELECT命令の実行結果からテーブルを生成するには

登録タグ
SQL
Icon comment count 0
Icon stock count 0

6-2CREATE TABLE/DROP TABLETips146 SELECT命令の実行結果からテーブルを生成するには

Level2

PointCREATE TABLE命令でSELECT句を利用します

構文   
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] テーブル名
  [(列名 データ型 列フラグ [,...])] [IGNORE|REPLACE] [AS] SELECT命令

CREATE TABLE命令では、末尾にSELECT命令を付与することで、あるテーブルから抽出した結果セットに基づいて、新規のテーブルを作成することができます。ただし、SELECT句を使用したテーブル生成では、

  • インデックスが新規テーブルには受け継がれない
  • 一部フィールドのデータ型が変換される可能性がある(AUTO_INCREMENT属性が維持されない、VARCHAR→CHARの変換が発生する、など)

などのケースが起こりえますので注意してください。ただし、列リストを定義することで、SELECT命令によって生成されるフィールドのデータ型を明示的に

出典情報

Medium

MySQL5逆引き大全460の極意

  • 著者: 山田 祥寛

コメント

    コメントはありません