MySQL Session Gloab是什么?對于MySQL新手來說,這個詞匯可能并不是很熟悉。Session Gloab是指在一個連接中全局有效且不變的變量。
CREATE TABLE `test_session_global` ( `id` int(11) NOT NULL AUTO_INCREMENT, `value` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB; SET @@SESSION.test_session_global = 'test';
從上面的代碼可以看出,我們首先創(chuàng)建了一個test_session_global表,接著我們又使用了SET語句,將一個SESSION級別的變量test_session_global定義成了'test'。
SELECT @@SESSION.test_session_global;
執(zhí)行以上代碼,我們就可以看到Session Gloab的使用效果了。由于我們在同一個連接中,因此SELECT操作可以正確讀取之前設置的SESSION級別變量。
需要注意的是,當連接結(jié)束時,SESSION級別變量會被自動清除,因此偽造連接是無法從一個新的連接中讀取Session Gloab變量。
在MySQL中,由于連接復用的原因,Session Gloab也可以被用來實現(xiàn)一個非全局的變量,比較適合在某些場景下使用。