帮我看看我的sql语句出错在哪里。我刚刚接触mysql.  8 use friendly_arse;
    9 
   10 SET @keepid = 0;
   11 SELECT @keepid;
   12 
   13 while_label:WHILE @keepid > 100 DO
   14     SELECT english FROM words_english WHERE id ==10;
   15 -- SET @keepen ="";
   16 -- SET @re_count=0;
   17 --     IF @keepid >100000 THEN
   18 --      LEAVE st;
   19 -- 
   20 --     END IF
   21 -- 
   22 --     SELECT @keepen:=english,@re_count=COUNT(id) FROM words_english WHERE id=@keepid;
   23 --     IF @re_count >1 AND THEN
   24 -- -- DELETE FROM words_english WHERE id != @keepid AND english=@keepen;
   25 --      SET @keepid = @keepid+1;
   26 --     ELSE IF 
   27 --      SET @keepid = @keepid+1;
   28 --      ITERATE ST;
   29 --     END IF
   30 -- 
   31 END WHILE;
ERROR 1064 (42000) at line 13: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'while_label:WHILE @keepid > 100 DO
    SELECT english FROM words_english WHERE i' at line 1

解决方案 »

  1.   

    应该是你下标的问题吧,你这是什么写法啊,sql语句是这么写吗?
      

  2.   

    肯定能使用while循环,你的用法也对。
    就是while 条件 do

    end while
    例如:create procedure selectData()
    begin
        declare sum int default 0;
        set sum = 0 ;
            while @sum< 100 do
                insert into test.table 
                    values ('xx','xx');
                set @num = @num + 1;
            end while;
    end;
      

  3.   

    为什么我的会出错?我用loop循环也是同样的错误