2017-11-21 2 views
-2

내가 phpMyAdmin을 사용하여 SQL 테이블에 억 개 행을 삽입하기 위해 노력하고있어하지만 난이 오류를 얻을 :인식 할 수없는 명령문 유형. (근처 "에 대한"위치 0)

FOR @i in 1 ..1000000000 do 
BEGIN 

INSERT INTO test VALUES (@i, "First", "Second", "Long lorem ipsum here!") 

END 

: 여기

Unrecognized statement type. (near "FOR" at position 0) 

은 내 코드입니다 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+3

[MySQL은하지 않습니다 FOR 루프를 지원하는 것처럼 보입니다.] (https://dev.mysql.com/doc/refman/5.7/en/flow-control-statements.html). 다음 문서는 무엇입니까? – Phil

+0

인터넷에서 이걸 찾았습니다. 한 번에 10 억 개의 행을 삽입하고 싶습니다. 어떻게해야합니까? – Ido

+0

인터넷에서 ** 무엇을 ** 발견 했습니까? MySQL 설명서를 읽는 것이 좋습니다. – Phil

답변

2

당신은 코드 쇼 아래로, 루프를 실행하는 절차가 필요합니다

DROP PROCEDURE IF EXISTS WhileLoop; 
DELIMITER $$ 
CREATE PROCEDURE WhileLoop() 

BEGIN 

set @start = 0; 
set @end = 1000000; 
WHILE @start < @end 
DO 
# LOOP QUERY & INSERT NEW RECORD 
INSERT INTO test VALUES (@start, "First", "Second", "Long lorem ipsum here!") 


SET @start = @start + 1; 
END WHILE;  
END$$ 
call WhileLoop(); 
0

를 사용하여 코드 쇼 아래와 같이 대신 들어 루프, 동안 :

Set @i = 1 

While(@i <=1000000000) 
BEGIN 

    INSERT INTO test VALUES (@i, "First", "Second", "Long lorem ipsum here!"); 
    set @i = @i+1; 

END