可能重複:
MySQL: @variable vs. variable. Whats the difference?爲什麼在MySQL中使用@前面的變量?
我從前端背景來得這麼容忍我,如果這個問題似乎基本。
我注意到MySQL存儲過程中的大部分帖子都使用@
作爲變量。我知道這意味着變量是一個會話變量,只要連接處於活動狀態,跨存儲過程就會一直存在,但爲什麼你想要一個變量交叉污染一個連接中的多個存儲過程?把一切都本地化好不好嗎?如果我不使用@
,則變量在下次存儲的proc調用中重新初始化爲NULL
,是不是更理想?這是爲了性能原因嗎?
'你爲什麼想要一個變量交叉污染多個存儲的proc調用在1個連接中'我沒有得到。如何添加一個變量做到這一點? – Ibu
@Ibu我的意思是這樣的,如果在一個存儲過程中,你執行SET @foo =「bar」,然後在同一連接的下一個存儲過程中,@ foo'仍然會被設置爲「bar」 – pixelfreak