这是我的简单循环

SET @id = 16;
SET @res = @id;

simple_loop: LOOP
SELECT @p := c_parent FROM categories WHERE c_id = @id;
IF @p > 0 THEN
    SET @id = @p;
    SET @res = @res + ',' + @p;
ELSE
    LEAVE simple_loop;
END IF;
END LOOP simple_loop;

SELECT @res;


在phpMyAdmin中执行代码会出现标准错误


  您的SQL语法有误。查看与您的> MySQL服务器版本相对应的手册,以在'simple_loop附近使用正确的语法:LOOP
     SELECT @p:= c_parent在第1行的c_id = @id'类别中


我对MySQL的了解很浅。请告诉我此简单操作的正确语法。提前致谢。

最佳答案

正如mysql关于loop的文档指出的那样:循环只能与存储过程中的compund statement block一起使用。

因此,解决方案是使用create procedure command根据上述代码创建存储过程,并将代码包含在begin ... end blcok中,并遵守其语法要求。

关于mysql - 简单的MySQL循环语法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35697648/

10-14 14:54
查看更多