दो कॉलम स्वैप करने के लिए, हम नीचे दी गई स्वैपिंग लॉजिक लागू कर सकते हैं।
दोनों वैल्यूज़ जोड़ें और उन्हें पहले कॉलम में स्टोर करें
पहले कॉलम की वैल्यू को दूसरे से घटाएं और इसे दूसरे कॉलम में स्टोर करें।
पहले कॉलम की वैल्यू को अपडेट किए गए दूसरे कॉलम से घटाएं और इसे पहले में स्टोर करें।
उपरोक्त नियम संरचना निम्न है। मान लीजिए, पहला कॉलम a है और दूसरा कॉलम b है।
1. a = a + b; 2. b = a - b; 3. a = a - b;
अब हम दो कॉलम वैल्यूज़ स्वैप करने के लिए उपरोक्त नियम लागू करेंगे।
टेबल बनाना।
mysql> create table SwappingTwoColumnsValueDemo -> ( -> FirstColumnValue int, -> SecondColumnValue int -> ); Query OK, 0 rows affected (0.49 sec)
कुछ रिकॉर्ड्स इन्सर्ट करना।
mysql> insert into SwappingTwoColumnsValueDemo values(10,20),(30,40),(50,60),(70,80),(90,100); Query OK, 5 rows affected (0.19 sec) Records: 5 Duplicates: 0 Warnings: 0
स्वैपिंग से पहले कॉलम वैल्यूज़ चेक करने के लिए।
mysql> select * from SwappingTwoColumnsValueDemo;
आउटपुट निम्न है।
+------------------+-------------------+ | FirstColumnValue | SecondColumnValue | +------------------+-------------------+ | 10 | 20 | | 30 | 40 | | 50 | 60 | | 70 | 80 | | 90 | 100 | +------------------+-------------------+ 5 rows in set (0.00 sec)
कॉलम वैल्यूज़ स्वैप करने का सिंटैक्स।
mysql> UPDATE SwappingTwoColumnsValueDemo -> SET FirstColumnValue = FirstColumnValue + SecondColumnValue, -> SecondColumnValue = FirstColumnValue - SecondColumnValue, -> FirstColumnValue = FirstColumnValue - SecondColumnValue; Query OK, 5 rows affected (0.15 sec) Rows matched: 5 Changed: 5 Warnings: 0
चेक करने के लिए कि कॉलम वैल्यूज़ स्वैप हुई हैं या नहीं।
mysql> select * from SwappingTwoColumnsValueDemo;
आउटपुट निम्न है।
+------------------+-------------------+ | FirstColumnValue | SecondColumnValue | +------------------+-------------------+ | 20 | 10 | | 40 | 30 | | 60 | 50 | | 80 | 70 | | 100 | 90 | +------------------+-------------------+ 5 rows in set (0.00 sec)