MySQL-এ CASE স্টেটমেন্ট সহ UPDATE কমান্ড ব্যবহার করে আপনি শর্তসাপেক্ষে কোনো কলামের মান আপডেট করতে পারেন। নিচে উদাহরণ দেওয়া হলো যেখানে Value কলামের মান ০-এর চেয়ে বড় হলে সেটি থেকে ১ বিয়োগ করা হয়েছে।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Value INT
);
Query OK, 0 rows affected (1.44 sec)
mysql> INSERT INTO DemoTable(Value) VALUES(100), (0), (104), (0), (5), (10), (0); Query OK, 7 rows affected
আপডেট করার আগের ডেটা
+----+-------+ | Id | Value | +----+-------+ | 1 | 100 | | 2 | 0 | | 3 | 104 | | 4 | 0 | | 5 | 5 | | 6 | 10 | | 7 | 0 | +----+-------+
শর্তসাপেক্ষ আপডেট কোয়েরি
mysql> UPDATE DemoTable
SET Value = CASE
WHEN Value > 0 THEN Value - 1
ELSE 0
END;
Query OK, 4 rows affected (0.25 sec)
আপডেট করার পরের ডেটা
+----+-------+ | Id | Value | +----+-------+ | 1 | 99 | | 2 | 0 | | 3 | 103 | | 4 | 0 | | 5 | 4 | | 6 | 9 | | 7 | 0 | +----+-------+
ব্যাখ্যা: CASE WHEN Value > 0 THEN Value-1 ELSE 0 END এক্সপ্রেশনটি প্রতিটি রোয়ের জন্য চেক করে যে Value ০-এর চেয়ে বড় কিনা। যদি হয়, তবে ১ বিয়োগ করে; না হলে ০ রেখে দেয়।