想往数据库插入测试大量数据,但语句一直报错,不知道错在哪

BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<11150
DO
insert into goods (id,name,price) values (i,CONCAT(i,'.jpg'),i);
SET i=i+1;
END WHILE ;
commit;
END

img

数据库是8.0,是数据库版本过高吗

delimiter $
CREATE PROCEDURE p8 () 
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<11150
DO
insert into goods (id,name,price) values (i,CONCAT(i,'.jpg'),i);
SET i=i+1;
END WHILE ;
commit;
END; $

单独begin,end是不得行的,begin end只能是在存储过程,函数,触发器等里写才行