sql >> Databáze >  >> RDS >> Mysql

Vložení MySQL pomocí smyčky While

Nemůžete použít WHILE takhle; viz:mysql DECLARE WHILE mimo uloženou proceduru jak?

Musíte vložit svůj kód do uložené procedury. Příklad:

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

Případně vygenerujte seznam INSERT příkazy pomocí libovolného programovacího jazyka, který se vám líbí; na jednorázový výtvor by to mělo být v pohodě. Jako příklad je zde Bash one-liner:

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

Mimochodem, udělal jste překlep ve svých číslech; 2376921001 má 10 číslic, 237692200 pouze 9.



  1. Jsou mysql_real_escape_string() a mysql_escape_string() dostatečné pro zabezpečení aplikace?

  2. Částečný index se nepoužívá v klauzuli ON CONFLICT při provádění upsert v Postgresql

  3. Instalace drahokamu mysql2 pro Ruby on Rails s Mac OSX 10.6

  4. Tisk výsledků ve formátu MySQL pomocí Pythonu