Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Insert с While Loop

Не можете да използвате WHILE така; вижте:mysql DECLARE WHILE извън съхранената процедура как?<

Трябва да поставите кода си в съхранена процедура. Пример:

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

Като алтернатива генерирайте списък с INSERT изрази, използващи всеки език за програмиране, който харесвате; за еднократно творение би трябвало да е добре. Като пример, ето Bash едноредов:

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

Между другото, допуснахте печатна грешка в числата си; 2376921001 има 10 цифри, 237692200 само 9.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Някой разбра ли как да мащабира репликите за четене на Amazon RDS?

  2. PHP + MySql + Съхранени процедури, как да получа достъп до изходяща стойност?

  3. JSON_LENGTH() – Връща дължината на JSON документ в MySQL

  4. Възстановете папката на базата данни MySQL от възстановен твърд диск

  5. Сравняване на стойностите за дата на CURDATE() с пълно поле за времеви печат