在mysql运行while循环函数,报错2014 commands out of sync; you can't run this command now

新学会了while函数,就想试着简单地跑一下,结果就遇到了报错
全部代码如下。test是我临时建的一个表,里面只有一个v1字段,没有值,就想看看while能不能跑的通。
DELIMITER //
DROP function if EXISTS ab; 
CREATE function ab 
BEGIN
DECLARE i INT;  
SET i = 0;  
WHILE i<5 DO 
INSERT INTO test(v1) VALUES(i+10);  
SET i = i+1;  
END WHILE ;
end;

img

请问该怎么解决呢,百度了一圈都没有答案。希望能解释的详细点,刚学习,不太懂
请看👉 :MySQL error(2014) Commands out of sync; you can't run this command now(情形1)