IF() এবং IS NULL ব্যবহার করে শর্তসাপেক্ষ আপডেট করা যায়। প্রথমে টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable1976 (
FirstName VARCHAR(20),
LastName VARCHAR(20)
);
ডেটা ইনসার্ট করি:
mysql> INSERT INTO DemoTable1976 VALUES('John','Doe');
mysql> INSERT INTO DemoTable1976 VALUES('John',NULL);
mysql> INSERT INTO DemoTable1976 VALUES(NULL,'Miller');
mysql> INSERT INTO DemoTable1976 VALUES('Chris','Brown');
প্রাথমিক ডেটা:
+-----------+----------+ | FirstName | LastName | +-----------+----------+ | John | Doe | | John | NULL | | NULL | Miller | | Chris | Brown | +-----------+----------+
শর্তসাপেক্ষ আপডেট কোয়েরি:
mysql> UPDATE DemoTable1976
SET FirstName = IF(FirstName IS NULL, 'David', FirstName),
LastName = IF(LastName IS NULL, 'Brown', LastName);
Query OK, 2 rows affected (0.00 sec)
Rows matched: 4 Changed: 2 Warnings: 0
আপডেটের পর ডেটা:
+-----------+----------+ | FirstName | LastName | +-----------+----------+ | John | Doe | | John | Brown | | David | Miller | | Chris | Brown | +-----------+----------+
ব্যাখ্যা
FirstName IS NULLহলে 'David' সেট হয়, অন্যথায় আগের মান থাকে।LastName IS NULLহলে 'Brown' সেট হয়, অন্যথায় আগের মান থাকে।- দুই কলামই NULL না হলে কোনো পরিবর্তন হয় না।
এই পদ্ধতিতে একসাথে একাধিক কলামে শর্তসাপেক্ষ আপডেট করা সম্ভব।