我试图在MySQL v5.7中使用public class CustomClass
{
public CustomClass(){}
public MonoBehaviour getCreator()
{
//Access MonoBehaviour from the dictionary
MonoBehaviour result;
TestMono.classToMonoBehaviour.TryGetValue(this, out result);
return result;
}
}
循环并不断收到语法错误。我还没能找到问题所在。根据{{3}},语法看起来是正确的。
我发现一个线程the documentation建议将语句包装在DELIMITER中,但这也不起作用。代码是:
WHILE
,错误信息为:
第22行的错误1064(42000):您的SQL语法出错; 检查与您的MySQL服务器版本对应的手册 正确的语法在' WHILE(@counter< 2)DO附近使用 SELECT @ counter'在第1行
我错过了什么?
答案 0 :(得分:5)
据我记忆,你不能像那样使用WHILE LOOP。你必须把它放在一个存储过程中,如下所示:
CREATE PROCEDURE mysp()
BEGIN
DECLARE counter int DEFAULT 1;
WHILE counter < 2 DO
SET counter = counter + 1;
END WHILE;
END
答案 1 :(得分:2)
尝试以下代码。它在我的MySQL 5.7上成功运行
DELIMITER //
CREATE PROCEDURE mysp()
BEGIN
DECLARE counter INT;
SET counter = 1;
label1: WHILE counter < 2 DO
SELECT counter;
SET counter = counter + 1;
END WHILE label1;
END; //
DELIMITER ;