變量和@Variable之間的區別。如果我們在MySQL變量聲明爲:是什麼在MySQL
declare prev_year int;
是set prev_year = 100;
和set @prev_year = 100;
一樣嗎?
有什麼區別,因爲它們看起來像不同的變量?
變量和@Variable之間的區別。如果我們在MySQL變量聲明爲:是什麼在MySQL
declare prev_year int;
是set prev_year = 100;
和set @prev_year = 100;
一樣嗎?
有什麼區別,因爲它們看起來像不同的變量?
不,它們並不是真的一樣......但根據所使用的上下文,它們可以被視爲相同。
我會解釋一下。 MySQL具有會話變量,這些是您分配的變量,直到會話結束(想到連接變量)爲止。這些變量用@
符號聲明。所以,你可以執行這兩個語句,它會工作:
SET @myId := 123;
SELECT * FROM table
WHERE id = @myId;
當您創建存儲過程和使用聲明變量是在程序的範圍,如
DECLARE myId INT;
SELECT id INTO myId FROM table
WHERE name = 'steve';
+1的重複 - 應該在輸入回答 – Steve 2013-03-22 09:44:35