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

MySQL-এ কলাম NULL হলে আপডেট করা, অন্যথায় অন্য কলাম আপডেট করা

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 না হলে কোনো পরিবর্তন হয় না।

এই পদ্ধতিতে একসাথে একাধিক কলামে শর্তসাপেক্ষ আপডেট করা সম্ভব।

  1. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

  2. MySQL-এ NULL মানযুক্ত কলামকে গুন করার সমস্যা সমাধান (COALESCE)

  3. MySQL-এ একসাথে দুটি কলাম আপডেট করা (সিঙ্গল কোয়েরি)

  4. MySQL-এ ALTER TABLE MODIFY দিয়ে বিদ্যমান কলামে NOT NULL অ্যাট্রিবিউট সেট করা