我是一名新手程序员,我目前正在使用Workbench 5.6处理MySQL中的函数和存储过程。我现在已经在SO和网上搜索了一段时间,正式定义了" @" MySQL中的运算符及其正确使用,但我无法找到一些具体的解释。
我们说我有这个:
/*..... Stored Procedure... */
declare i int ;
set @i = 1 ;
select @i ;
/* do some other stuff */
End;
选择的结果将是1,相反,如果我这样做:
select i ;
我会得到一个空的结果。 从我到目前为止的直觉来看,我认为这是在存储变量的存储器中访问方向并打印/修改其内容,但我还不太确定。你能否更多地发光? 它还有其他用途吗?
先谢谢。
答案 0 :(得分:0)
它不是运营商(我怀疑你来自PHP, 是运营商)。它是user-defined variables的语法:
用户变量写为
@var_name
,其中包含变量名称 var_name由字母数字字符“。”,“_”和“$”组成。一个 用户变量名称可以包含其他字符,如果您将其引用为 字符串或标识符(例如,@'my-var'
,@"my-var"
或 @my-var
)。
答案 1 :(得分:0)
@表示一个变量,你在变量前面加上@来防止它们与列名和其他模式混淆,它也使得在查看代码时生活更轻松。当您从x;输入select I时,您要查找表I中不存在的第I列,因此为null。