简单的MySQL循环语法错误

时间:2016-02-29 10:49:47

标签: mysql loops

这是我的简单循环

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      在第1行选择@p:= c_parent FROM categories WHERE c_id = @id '

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

1 个答案:

答案 0 :(得分:2)

正如loop上的mysql文档所示:循环只能与存储过程中的compund statement block一起使用。

因此,解决方案是使用create procedure command从上述代码中创建存储过程,并在begin ... end blcok中包含您的代码,并观察其语法要求。