帮我看看我的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
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
就是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;