Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insertion MySQL avec boucle While

Vous ne pouvez pas utiliser WHILE comme ça; voir :mysql DECLARE WHILE en dehors de la procédure stockée comment ?

Vous devez mettre votre code dans une procédure stockée. Exemple :

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

Violon :http://sqlfiddle.com/#!2/a4f92/1

Vous pouvez également générer une liste de INSERT déclarations utilisant n'importe quel langage de programmation que vous aimez; pour une création ponctuelle, ça devrait aller. À titre d'exemple, voici un one-liner Bash :

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

Au fait, vous avez fait une faute de frappe dans vos chiffres ; 2376921001 a 10 chiffres, 237692200 seulement 9.