Mysql
 sql >> Database >  >> RDS >> Mysql

Inserisci MySQL con While Loop

Non puoi usare WHILE come quello; vedere:mysql DECLARE WHILE outside stored procedure come?

Devi inserire il tuo codice in una stored procedure. Esempio:

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

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

In alternativa, genera un elenco di INSERT dichiarazioni utilizzando qualsiasi linguaggio di programmazione che ti piace; per una creazione una tantum, dovrebbe andare bene. Ad esempio, ecco un one-liner Bash:

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

A proposito, hai commesso un errore di battitura nei tuoi numeri; 2376921001 ha 10 cifre, 237692200 solo 9.