MySQLのストアドプロシージャで大量のレコードを挿入する方法

MySQLで使用できる便利なサンプルスクリプトを書きとめておく。

大量のレコードを挿入する

rankingsテーブルのuser_idフィールドとtotal_damageフィールドに対して、1ずつ加算しながらレコードを5万件挿入する。

BEGIN
declare id_counter int;
declare damage_counter int;
set id_counter = 1;
set damage_counter = 1;
while id_counter < 50000 do
    insert into rankings (
        user_id,
        total_damage
    ) values (
        id_counter,
        damage_counter
    );
    
    set id_counter = id_counter + 1;
    set damage_counter = damage_counter + 1;
end while;
END