使用@
或不使用?{/ p>访问变量之间有什么区别?
答案 0 :(得分:15)
@
使其成为user defined 会话变量。否则它将是locally scoped变量(在stored procedure中),您必须先DEFINE
您的本地,然后才能SET
它。如果您愿意,还可以设置全局 系统变量(SET GLOBAL
或SET @@global
)。以及包含SET SESSION var
或SET @@session var
或SET @@var
的会话系统变量。
SET
来自the documentation的更多详细信息:如果不存在修饰符,SET
会更改会话变量(这就是您首先在存储过程中DEFINE
本地人的原因) 。如果设置了多个系统变量,则语句中最新的GLOBAL
或SESSION
修饰符用于跟踪未指定修饰符的变量。
更多(以及一些很好的例子):
答案 1 :(得分:5)
该符号用于用户定义的变量,如下所述:http://dev.mysql.com/doc/refman/5.0/en/user-variables.html