MySQL中的用戶變量是在SQL語(yǔ)句中定義的變量,可以被賦值和使用。但是,很多人會(huì)有一個(gè)疑問(wèn):這些用戶變量會(huì)永久存在嗎?
答案是不會(huì)。用戶變量只是在當(dāng)前會(huì)話中存在,一旦會(huì)話關(guān)閉,這些變量也就消失了。
舉個(gè)例子,假設(shè)我們?cè)贛ySQL中定義了一個(gè)用戶變量:
SET @myvar = 10;
我們可以在當(dāng)前會(huì)話中使用這個(gè)變量:
SELECT @myvar;
這會(huì)輸出結(jié)果為10。但是如果我們關(guān)閉會(huì)話并重新打開(kāi)MySQL,再次使用這個(gè)變量,會(huì)發(fā)現(xiàn)它已經(jīng)不存在了:
SELECT @myvar; --輸出結(jié)果為NULL
因此,需要注意的是,用戶變量在當(dāng)前會(huì)話中可用,但并不是永久存在的。
需要注意的是,用戶變量在不同的會(huì)話中是獨(dú)立的。換句話說(shuō),如果我們?cè)谝粋€(gè)會(huì)話中定義了一個(gè)@myvar變量,然后在另一個(gè)會(huì)話中也定義一個(gè)同名變量,這兩個(gè)變量是互相獨(dú)立的,不會(huì)互相干擾。
總結(jié)一下,MySQL中的用戶變量只是在當(dāng)前會(huì)話中存在,不會(huì)永久存在。如果我們需要永久存儲(chǔ)數(shù)據(jù),需要使用MySQL的其他功能,如表、行或列。