声明myvar int(11);在mysql例程中返回语法错误

时间:2011-01-19 14:21:52

标签: sql mysql variables

我有一个很长的例程,以前在以前的服务器上工作。 我将它迁移到一个新的服务器,我开始有SQL语法错误。

所以我做了一个测试:

create procedure test()
begin

declare myvar int(11);

select myvar;

end

通过在mysql或Mysql Workbench中运行它,你应该在11)之前的语法错误;

发生了什么事!

我看过他们说declare [variablename] [datatype]

这个主题的mysql参考资料

我尝试过其他数据类型只是为了确保我仍然遇到同样的问题。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

声明变量时,不要给它们显示长度。这些数字仅用于表列定义。

只做

DECLARE myvar INT;

答案 1 :(得分:1)

此外,声明将是开始后的第一个声明。否则这总会给出错误。