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

MySQL-এ IF() দিয়ে এক মান বাদ দিয়ে বাকি সব আপডেট

MySQL-এ IF() ফাংশন ব্যবহার করে নির্দিষ্ট রো বাদ দিয়ে বাকি সব রোর কলাম আপডেট করা যায়।

উদাহরণ

mysql> CREATE TABLE DemoTable736 (
    CustomerId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    CustomerName VARCHAR(100),
    isMarried BOOLEAN
);
Query OK, 0 rows affected (0.53 sec)

mysql> INSERT INTO DemoTable736 (CustomerName, isMarried) VALUES
('Chris', 0), ('Robert', 0), ('David', 0), ('Mike', 0), ('Carol', 1), ('Bob', 0);
Query OK, 6 rows affected

সব রেকর্ড

mysql> SELECT * FROM DemoTable736;
+------------+--------------+-----------+
| CustomerId | CustomerName | isMarried |
+------------+--------------+-----------+
| 1          | Chris        | 0         |
| 2          | Robert       | 0         |
| 3          | David        | 0         |
| 4          | Mike         | 0         |
| 5          | Carol        | 1         |
| 6          | Bob          | 0         |
+------------+--------------+-----------+

CustomerId=5 বাদ দিয়ে সবকে isMarried=1 করুন

mysql> UPDATE DemoTable736
SET isMarried = IF(CustomerId = 5, 1, 1);
Query OK, 5 rows affected (0.13 sec)

ফলাফল

mysql> SELECT * FROM DemoTable736;
+------------+--------------+-----------+
| CustomerId | CustomerName | isMarried |
+------------+--------------+-----------+
| 1          | Chris        | 1         |
| 2          | Robert       | 1         |
| 3          | David        | 1         |
| 4          | Mike         | 1         |
| 5          | Carol        | 1         |  -- অপরিবর্তিত (ইতিমধ্যে ১)
| 6          | Bob          | 1         |
+------------+--------------+-----------+

ব্যাখ্যা

  • IF(CustomerId = 5, 1, 1) → শর্ত সত্য হলে ১, মিথ্যা হলে ১ (এখানে দুটি ক্ষেত্রেই ১)
  • আসল ইউজকেস: IF(CustomerId = 5, isMarried, 1) → আইডি ৫ বাদ দিয়ে সবকে ১ করুন
  • বড় টেবিলে WHERE CustomerId <> 5 ব্যবহার করুন (দ্রুত, ইনডেক্স ব্যবহার করে)

সরল ও দ্রুত পদ্ধতি

UPDATE DemoTable736 SET isMarried = 1 WHERE CustomerId <> 5;
  1. MySQL-এ সিঙ্গেল কোটসহ টেক্সট ইনসার্ট ও প্রদর্শন (ডাবল কোট ব্যবহার)

  2. MySQL-এ একক কুয়েরি দিয়ে টেবিলের সব কলাম নির্দিষ্ট ভ্যালুতে আপডেট করা

  3. MySQL-এ শুধু একটি কলাম আপডেট করা

  4. MySQL-এ ORDER BY ব্যবহার করে নির্দিষ্ট মানকে শেষে সর্ট করা