sql >> Databasteknik >  >> RDS >> Mysql

MySQL Insert med While Loop

Du kan inte använda WHILE sådär; se:mysql DECLARE WHILE outside stored procedure how?

Du måste lägga din kod i en lagrad procedur. Exempel:

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

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

Alternativt, generera en lista med INSERT uttalanden med vilket programmeringsspråk du vill; för en engångsskapelse borde det vara bra. Som ett exempel, här är en Bash one-liner:

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

Förresten, du gjorde ett stavfel i dina siffror; 2376921001 har 10 siffror, 237692200 endast 9.



  1. Mysql-fråga med två tabeller php

  2. Få extra rader - Efter att ha sammanfogat de 3 borden med Left Join

  3. Varför är MySQL InnoDB-insättning så långsam?

  4. Vad är det bästa sättet att lagra användarbilder med PHP och MySQL?