sql >> データベース >  >> RDS >> Mysql

Whileループを使用したMySQL挿入

    WHILEは使用できません そのように;参照: mysqlは、ストアドプロシージャの外部でどのように宣言しますか?

    コードをストアドプロシージャに配置する必要があります。例:

    CREATE PROCEDURE myproc()
    BEGIN
        DECLARE i int DEFAULT 237692001;
        WHILE i <= 237692004 DO
            INSERT INTO mytable (code, active, total) VALUES (i, 1, 1);
            SET i = i + 1;
        END WHILE;
    END
    

    フィドル: http://sqlfiddle.com/#!2/a4f92/1

    または、INSERTのリストを生成します 好きなプログラミング言語を使用したステートメント。 1回限りの作成の場合は、問題ないはずです。例として、Bashのワンライナーを次に示します。

    for i in {2376921001..2376921099}; do echo "INSERT INTO mytable (code, active, total) VALUES ($i, 1, 1);"; done
    

    ちなみに、あなたは自分の番号にタイプミスをしました。 2376921001は10桁、237692200は9桁のみです。



    1. T-SQLを使用してSQLServerデータベースの名前を変更する方法

    2. MySQLのプロファイルを作成する方法

    3. OracleのBITAND()関数

    4. すべてのフィールドを検索するためのMYSQLクエリ?