我有一个很长的例程,以前在以前的服务器上工作。 我将它迁移到一个新的服务器,我开始有SQL语法错误。
所以我做了一个测试:
create procedure test()
begin
declare myvar int(11);
select myvar;
end
通过在mysql或Mysql Workbench中运行它,你应该在11)之前的语法错误;
发生了什么事!
我看过他们说declare [variablename] [datatype]
我尝试过其他数据类型只是为了确保我仍然遇到同样的问题。
提前感谢您的帮助。
答案 0 :(得分:2)
声明变量时,不要给它们显示长度。这些数字仅用于表列定义。
只做
DECLARE myvar INT;
答案 1 :(得分:1)
此外,声明将是开始后的第一个声明。否则这总会给出错误。