MySQL-এ IF() ফাংশন ব্যবহার করে শর্তানুসারে একাধিক কলাম আপডেট করা যায়।
উদাহরণ
mysql> CREATE TABLE DemoTable716 (
Id VARCHAR(100),
Value1 INT,
Value2 INT,
Value3 INT
);
Query OK, 0 rows affected (0.65 sec)
mysql> INSERT INTO DemoTable716 VALUES
('100', 45, 86, 79),
('101', 67, 67, 99),
('102', 77, 57, 98),
('103', 45, 67, 92);
Query OK, 4 rows affected
শর্ত: Value1 বা Value2 ৬৭ হলে Value3 = ৬৭, অন্যথায় NULL
mysql> UPDATE DemoTable716 SET Value3 = IF(Value1 = 67 OR Value2 = 67, 67, NULL) WHERE Id = '101'; Query OK, 1 row affected (0.14 sec)
ফলাফল
mysql> SELECT * FROM DemoTable716;
+------+--------+--------+--------+ | Id | Value1 | Value2 | Value3 | +------+--------+--------+--------+ | 100 | 45 | 86 | 79 | | 101 | 67 | 67 | 67 | <-- আপডেট হয়েছে | 102 | 77 | 57 | 98 | | 103 | 45 | 67 | 92 | +------+--------+--------+--------+
সিনট্যাক্স
IF(শর্ত, সত্য_হলে_মান, মিথ্যা_হলে_মান)
CASE WHEN বিকল্প
UPDATE DemoTable716
SET Value3 = CASE
WHEN Value1 = 67 OR Value2 = 67 THEN 67
ELSE NULL
END
WHERE Id = '101';
CASE একাধিক শর্তের জন্য আরও পঠনীয়।