दो कॉलम स्वैप करने के लिए, हम नीचे दिए गए स्वैपिंग लॉजिक को लागू कर सकते हैं।
-
दोनों मान जोड़ें और उन्हें पहले कॉलम में संग्रहित करें
-
पहले कॉलम के मान को दूसरे से घटाएं और दूसरे कॉलम में स्टोर करें।
-
अपडेट किए गए दूसरे कॉलम से पहले कॉलम के मान को घटाएं और इसे पहले कॉलम में स्टोर करें।
उपरोक्त नियम संरचना इस प्रकार है। मान लीजिए, पहला कॉलम a है और दूसरा कॉलम b है।
<पूर्व>1. ए =ए + बी; 2। बी =ए-बी; 3। ए =ए-बी;अब हम दो कॉलम मानों को स्वैप करने के लिए उपरोक्त नियम लागू करेंगे।
एक टेबल बनाना।
mysql> तालिका बनाएं SwappingTwoColumnsValueDemo -> ( -> FirstColumnValue int, -> SecondColumnValue int -> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.49 सेकंड)
कुछ रिकॉर्ड सम्मिलित करना।
mysql> SwappingTwoColumnsValueDemo मान(10,20),(30,40),(50,60),(70,80),(90,100) में डालें; क्वेरी ठीक है, 5 पंक्तियाँ प्रभावित (0.19 सेकंड) रिकॉर्ड:5 डुप्लीकेट:0 चेतावनी:0
स्वैप करने से पहले कॉलम के मानों की जांच करने के लिए।
mysql> SwappingTwoColumnsValueDemo से *चुनें;
निम्न आउटपुट है।
<पूर्व>+---------------------+---------------------+| FirstColumnValue | दूसरा कॉलम वैल्यू |+------------------+-------------------+| 10 | 20 || 30 | 40 || 50 | 60 || 70 | 80 || 90 | 100 |+----------------------------+-------------------+5 पंक्तियाँ सेट में (0.00 सेकंड)कॉलम मानों को स्वैप करने के लिए सिंटैक्स।
mysql> स्वैपिंग टू कॉलम्सवैल्यूडेमो को अपडेट करें -> पहले कॉलम वैल्यू सेट करें =फर्स्टकॉलम वैल्यू + सेकेंड कॉलम वैल्यू, -> सेकेंड कॉलम वैल्यू =फर्स्ट कॉलम वैल्यू-सेकंड कॉलम वैल्यू, -> फर्स्टकॉलम वैल्यू =फर्स्ट कॉलम वैल्यू-सेकंड कॉलम वैल्यू; क्वेरी ठीक है, 5 पंक्तियां प्रभावित (0.15 सेकेंड) पंक्तियां मेल खाती हैं:5 चेतावनियां बदली गई हैं:5 चेतावनियां बदली गई हैं:5 चेतावनियां बदली गई हैं::0
यह जाँचने के लिए कि कॉलम मानों की अदला-बदली की गई है या नहीं।
mysql> SwappingTwoColumnsValueDemo से *चुनें;
निम्न आउटपुट है।
<पूर्व>+---------------------+---------------------+| FirstColumnValue | दूसरा कॉलम वैल्यू |+------------------+-------------------+| 20 | 10 || 40 | 30 || 60 | 50 || 80 | 70 || 100 | 90 |+----------------------------+---------------------+5 पंक्तियाँ सेट में (0.00 सेकंड)