MySQLのSELECTに基づいて複数の行を挿入する方法


  1. INSERT INTO SELECT文を使用する方法: この方法では、INSERT INTO SELECT文を使用して、SELECT結果を新しいテーブルに挿入します。

    INSERT INTO new_table (column1, column2, column3)
    SELECT column1, column2, column3
    FROM old_table
    WHERE condition;

    上記のコードでは、new_tableにcolumn1、column2、column3の値を挿入し、old_tableから条件に一致する行を選択します。

  2. VALUES句を使用する方法: この方法では、VALUES句を使用して、複数の行を一度に挿入します。

    INSERT INTO new_table (column1, column2, column3)
    VALUES
    (value1, value2, value3),
    (value4, value5, value6),
    ...
    (valueN, valueN+1, valueN+2);

    上記のコードでは、new_tableのcolumn1、column2、column3に複数の行を挿入します。各行はVALUES句内で指定され、カンマで区切られます。

  3. SELECT文とUNION ALLを使用する方法: この方法では、SELECT文とUNION ALLを組み合わせて、複数のSELECT結果を結合して挿入します。

    INSERT INTO new_table (column1, column2, column3)
    SELECT column1, column2, column3
    FROM table1
    WHERE condition1
    UNION ALL
    SELECT column1, column2, column3
    FROM table2
    WHERE condition2
    UNION ALL
    ...
    SELECT column1, column2, column3
    FROM tableN
    WHERE conditionN;

    上記のコードでは、新しいテーブルであるnew_tableに複数のSELECT結果を連結して挿入します。

これらの方法を使用して、MySQLでSELECTに基づいて複数の行を挿入することができます。適切なテーブルと条件を指定して、必要なデータを挿入できるようにしてください。