2014-04-10 33 views
-1

我是一個新手程序員,我目前正在使用Workbench 5.6在MySQL中使用函數和存儲過程。我一直在搜索SO和Web上的一段時間,正式定義了MySQL中的「@」運算符,它是正確的用法,但我無法找到一些具體的解釋。MySql中「@」運算符的名稱和用法是什麼?

比方說,我有這樣的:

/*..... Stored Procedure... */ 

declare i int ; 
set @i = 1 ; 
select @i ; 

/* do some other stuff */ 
End; 

的選擇結果將是1,而不是,如果我這樣做:

select i ; 

我會得到一個空的結果。 從我迄今爲止的直覺來看,我認爲這是訪問一個存儲變量的內存方向,並打印/修改其內容,但我不太清楚。您能否提供更多的信息? 它有任何其他用途嗎?

先驗謝謝。

+1

[MySQL參考手冊中關於主題的部分](https://dev.mysql.com/doc/refman/5.1/en/user-variables.html)的哪部分內容不明白? – EJP

+0

@EJP - 他可能無法通過'@'或'at operator'找到它(我試過了,它不會顯示出來),並且從來沒有將它與'set'關聯起來。 –

+0

@ÁlvaroG.Vicario正是如此,謝謝。 – Menio

回答

0

它不是一個運營商(我懷疑你來自PHP,它在運營商)。它的語法user-defined variables

用戶變量寫成@var_name,其中變量名 VAR_NAME由字母數字字符,「_」和「$」「」。 A 用戶變量名稱可以包含其他字符,如果引用它作爲 字符串或標識符(例如,@'my-var'@"my-var"或 @my-var)。

0

@表示一個變量,用@前綴變量以防止將它們與列名和其他模式混淆,它還使得在查看代碼時生活變得更加容易。當你輸入從x中選擇I時,你在查找表中不存在的列I,因此爲空。

相關問題