INSERT [LOW_PRIORITY] [IGNORE] [INTO] tbl_name [(column list)] SELECT ...
          INSERT ... SELECT
          ステートメントでは、1
          つまたは複数のテーブルの数多くのレコードを別の
          1
          つのテーブルにすばやく挿入することができます。
        
INSERT INTO tblTemp2 (fldID) SELECT tblTemp1.fldOrder_ID FROM tblTemp1 WHERE tblTemp1.fldOrder_ID > 100;
          INSERT ... SELECT
          ステートメントでは、以下の条件が適用されます。
        
              MySQL 4.0.1
              より前のバージョンでは、INSERT ...
              SELECT は暗黙的に IGNORE
              モードで動作する。MySQL 4.0.1
              以降では、重複キー違反を引き起こすレコードを無視するには、IGNORE
              を明示的に指定しなければならない。
            
              MySQL 4.0.14
              より前のバージョンでは、INSERT
              ステートメントの対象テーブルをクエリの
              SELECT 部分の
              FROM
              節に示すことはできない。 この制約は
              4.0.14 でなくなった。
            
              AUTO_INCREMENT
              カラムは通常どおり機能する。
            
              C プログラムでは、C API 関数
              mysql_info()
              を使用してクエリに関する情報を取得できる。
              See 項6.4.3. 「INSERT 構文」。
            
              バイナリログを使用して元のテーブルを確実に再作成できるようにするため、MySQL
              では、INSERT ... SELECT
              実行中の同時挿入は行えない。
            
          以前のレコードを上書きするには、INSERT
          の代わりに REPLACE
          を使用します。以前のレコードの値と重複するユニークキー値を持つ新しいレコードの処理に関して、REPLACE
          は INSERT IGNORE
          に対立する働きをします。つまり、新しいレコードが廃棄されるのではなく、新しいレコードによって以前のレコードが置き換えられます。
        
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

