কম্পিউটার টিউটোরিয়াল

MySQL-এ CASE WHEN দিয়ে দুটি কলাম মান সওয়াপ (স್ವাপ) করা

পদ্ধতি

একটি কলামের মধ্যে দুটি নির্দিষ্ট মান পারস্পরিক বদলানোর জন্য CASE WHEN স্টেটমেন্ট ব্যবহার করা হয়।

সারণি ও ডেটা

mysql> create table DemoTable1382 (StudentName varchar(20));
mysql> insert into DemoTable1382 values('John'),('Chris'),('Adam'),('Bob');

আপডেট কোয়েরি

mysql> update DemoTable1382
    -> set StudentName = (case when StudentName="Chris" then "John"
    -> when StudentName="John" then "Chris"
    -> else StudentName end);
Query OK, 2 rows affected (0.19 sec)

ফলাফল

+-------------+
| StudentName |
+-------------+
| Chris       |
| John        |
| Adam        |
| Bob         |
+-------------+

ব্যাখ্যা

  • CASE WHEN ... THEN ... WHEN ... THEN ... ELSE ... END — শর্তানুযায়ী মান নির্ধারণ করে
  • 'Chris' কে 'John' এবং 'John' কে 'Chris' বদলে দিয়েছে
  • অন্যান্য নাম অপরিবর্তিত থাকে

দ্রষ্টব্য: দুটি কলামের মান সওয়াপ করলে (যেমন UPDATE t SET a=b, b=a) MySQL এ এটি অটোমেটিক্যালি হ্যান্ডেল করে, কিন্তু একই কলামের ভিতরে মান সওয়াপ করলে CASE WHEN প্রয়োজন।

  1. MySQL-এ JOIN দিয়ে অন্য টেবিলের কলাম ভিত্তিক আপডেট করা

  2. MySQL-এ DATE টাইপ কলাম আপডেট করা

  3. MySQL-এ ALTER TABLE ... ENGINE দিয়ে স্টোরেজ ইঞ্জিন পরিবর্তন করা

  4. MySQL에서 일괄 업데이트(Batch Update) 수행하기