MySQL में दो कॉलम के बीच डेटा स्वैप करने के लिए वेरिएबल की अवधारणा का उपयोग करें।
उदाहरण
टेबल बनाएं - यहां Name1 को Name2 से स्वैप करेंगे:
mysql> create table DemoTable (
-> Name1 varchar(100),
-> Name2 varchar(100)
-> );
Query OK, 0 rows affected (0.58 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable values('John Smith', 'Chris Brown');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('David Miller', 'Jone Doe');
Query OK, 1 row affected (0.16 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable;
आउटपुट
+--------------+-------------+ | Name1 | Name2 | +--------------+-------------+ | John Smith | Chris Brown | | David Miller | Jone Doe | +--------------+-------------+ 2 rows in set (0.00 sec)
दो कॉलम के बीच डेटा स्वैप करने की क्वेरी:
mysql> update DemoTable
-> SET Name1 = (@tmpName := Name1), Name1 = Name2, Name2 = @tmpName;
Query OK, 2 rows affected (0.13 sec)
Rows matched: 2 Changed: 2 Warnings: 0
फिर से रिकॉर्ड देखें:
mysql> select * from DemoTable;
आउटपुट
+-------------+--------------+ | Name1 | Name2 | +-------------+--------------+ | Chris Brown | John Smith | | Jone Doe | David Miller | +-------------+--------------+ 2 rows in set (0.00 sec)
व्याख्या: @tmpName वेरिएबल में Name1 का मान स्टोर होता है, फिर Name1 को Name2 से अपडेट किया जाता है, अंत में Name2 को @tmpName से अपडेट किया जाता है।