Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wstawianie MySQL z pętlą while

Nie możesz użyć WHILE tak; zobacz:mysql ZADEKLARUJ PODCZAS poza procedurą składowaną, jak?

Musisz umieścić swój kod w procedurze składowanej. Przykład:

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

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

Alternatywnie wygeneruj listę INSERT wypowiedzi w dowolnym języku programowania; w przypadku jednorazowej kreacji powinno być w porządku. Jako przykład, oto jednowierszówka Bash:

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

Nawiasem mówiąc, popełniłeś literówkę w swoich liczbach; 2376921001 ma 10 cyfr, 237692200 tylko 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. Przechowywanie bardzo dużych liczb całkowitych w MySQL

  2. Uzasadnienie pełnego tekstu odrzucanych słów MySQL

  3. Używanie skryptu powłoki do wstawiania danych do zdalnej bazy danych MYSQL

  4. Powolne wyszukiwanie według zapytania indeksu LIKE% MYSQL

  5. Sterownik PDO MySQL na Macu