27

有或没有访问变量有什么区别@

4

2 回答 2

22

@使其成为用户定义 的会话变量。否则它将是本地范围的变量(在存储过程中),您必须先访问DEFINE本地变量SET。如果您愿意,您还可以设置一个全局 系统变量(使用SET GLOBALor SET @@global)。以及带有or或的会话系统变量。SET SESSION varSET @@session varSET @@var

有关文档的SET更多详细信息:如果不存在修饰符,则更改会话变量(这就是为什么您的本地人首先在存储过程中的原因)。如果您设置了多个系统变量,则语句中最新的或修饰符用于后续未指定修饰符的变量。SETDEFINEGLOBALSESSION

更多(和一些很好的例子)在这里:

于 2012-05-09T14:31:17.840 回答
5

该符号用于用户定义的变量,如下所述:http: //dev.mysql.com/doc/refman/5.0/en/user-variables.html

于 2012-05-09T14:23:10.193 回答