我想知道@variablename
和variablename
之间的区别。所有的帮助将不胜感激。
答案 0 :(得分:0)
variablename
局部变量
局部变量在存储过程中声明,并且仅在声明它们的BEGIN ... END块内有效。局部变量可以具有任何SQL数据类型。
@variablename
用户变量
在MySQL存储过程中,用户变量以用户变量名称前缀的&符号(@)引用(例如,@ x和@y)。您可以在一个语句中将值存储在用户定义的变量中,然后在另一个语句中引用它。这使您可以将值从一个语句传递到另一个语句。用户定义的变量是特定于会话的。也就是说,其他客户端无法看到或使用由一个客户端定义的用户变量。当客户端退出时,将自动释放给定客户端会话的所有变量。
在MySQL中,变量var1和@ var1是两个不同的东西。 @ var1是一个用户会话变量,它在活动会话期间保持不变。另一个是存储过程的本地。