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.