MySQL में क्वेरी के परिणाम से यूजर वेरिएबल सेट करने के लिए, आपको उस वेरिएबल को असाइनमेंट में ले जाने की आवश्यकता है।
उपरोक्त अवधारणा को समझने के लिए, पहले एक टेबल बनाते हैं। टेबल बनाने का क्वेरी:
mysql> CREATE TABLE UserVariable (
-> Id INT,
-> Name VARCHAR(100)
-> ); Query OK, 0 rows affected (0.53 sec)
INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:
mysql> INSERT INTO UserVariable VALUES(101,'John'); Query OK, 1 row affected (0.17 sec) mysql> INSERT INTO UserVariable VALUES(200,'Tom'); Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO UserVariable VALUES(500,'Carol'); Query OK, 1 row affected (0.13 sec)
SELECT कमांड का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> SELECT * FROM UserVariable;
आउटपुट
+------+-------+ | Id | Name | +------+-------+ | 101 | John | | 200 | Tom | | 500 | Carol | +------+-------+ 3 rows in set (0.00 sec)
एक यूजर वेरिएबल के साथ क्वेरी लिखें जो अधिकतम ID वाले रिकॉर्ड प्रदर्शित करता है। पहले, मैं एक वेरिएबल बनाने जा रहा हूं और इस वेरिएबल को उपरोक्त टेबल से अधिकतम ID चुनकर इनिशियलाइज़ करूंगा। क्वेरी इस प्रकार है:
mysql> SET @MaxId = (SELECT MAX(Id) FROM UserVariable); Query OK, 0 rows affected (0.00 sec)
उसके बाद, एक और वेरिएबल बनाएं जिसमें केवल वही नाम हो जो विशेष अधिकतम ID के साथ हो। क्वेरी इस प्रकार है:
mysql> SET @Name = (SELECT Name FROM UserVariable WHERE Id = @MaxId); Query OK, 0 rows affected (0.00 sec)
अब आप चेक कर सकते हैं कि वेरिएबल Name में कौन सा मान मौजूद है। क्वेरी इस प्रकार है:
mysql> SELECT @Name;
निम्न आउटपुट उच्चतम ID वाले नाम को प्रदर्शित करता है:
+-------+ | @Name | +-------+ | Carol | +-------+ 1 row in set (0.00 sec)