2017-03-24 34 views
0

LINK:https://dev.mysql.com/doc/refman/5.7/en/user-variables.htmlMYSQL,分配在同一個語句讀取變量

我讀MySQL文檔和我真搞不清楚,這個一般規則!

文檔:

一般情況下,除了在SET語句,你永遠不應該值分配給一個用戶變量和讀取同一語句中的價值。

好的,這是否意味着我可以使用SET語句來分配AND READ用戶變量?對?但是當我嘗試...

SET @a:=1, @b:[email protected]+1; 
SELECT @a,@b; # @a = 1, @b = NULL 

貌似SET語句有任何其他語句分配的同樣的問題,在同一語句讀取用戶變量。

SET @a:=1; 
SET @b:[email protected]+1; 
SELECT @a,@b; # @a=1 , @b=2 

那麼,我在這裏錯過了什麼?

回答

1

我認爲這個文檔根本就是錯的。如您所示,SETSELECT在這方面沒有任何區別。

+0

並且這也不好:SET @a:= 1,@b:= @ a + 1; 那麼SET語句和SELECT之間的區別是什麼? 那部分:「不在SET語句中」沒有意義 – yokata

+0

我知道,那是在你的問題中。 – Barmar

+1

我懷疑文檔是錯誤的。 – Barmar