这是我的简单循环
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的了解很浅薄。请告诉我这个简单操作的正确语法。提前谢谢。
答案 0 :(得分:2)
正如loop上的mysql文档所示:循环只能与存储过程中的compund statement block一起使用。
因此,解决方案是使用create procedure command从上述代码中创建存储过程,并在begin ... end blcok中包含您的代码,并观察其语法要求。