根據查詢結果分配使用者定義的變數可以增強資料庫操作能力。本文探討了在 MySQL 中實現此目的的方法,而無需借助嵌套查詢。
與流行的看法相反,使用者變數賦值可以直接整合到查詢中。 SET 語句的賦值運算子是= 或:=。但是,:= 必須在其他語句中使用,因為 = 是為比較而保留的。
為了說明此技術,我們假設 USER 和 GROUP 是唯一的。以下查詢序列展示了此功能:
SET @user := 123456; SELECT @group := `group` FROM USER WHERE user = @user; SELECT * FROM USER WHERE `group` = @group;
使用包含下列資料的範例表:
CREATE TABLE user (`user` int, `group` int); INSERT INTO user VALUES (123456, 5); INSERT INTO user VALUES (111111, 5);
查詢產生以下結果:
-------- ------- | user | group | -------- ------- | 123456 | 5 | | 111111 | 5 | -------- -------
作為替代方法,可以採用以下語法:
SET @user := 123456; SELECT `group` FROM user LIMIT 1 INTO @group; SELECT * FROM user WHERE `group` = @group;
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3