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

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

MySQL-এ একটি UPDATE স্টেটমেন্টে একাধিক কলাম আপডেট করতে SET ক্লজে কমা দিয়ে কলাম-ভ্যালু জোড়া লিখতে হয়।

টেবিল এবং ডেটা

CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Marks1 INT,
    Marks2 INT,
    Marks3 INT
);

INSERT INTO DemoTable(Marks1,Marks2,Marks3) VALUES(45,67,34);
INSERT INTO DemoTable(Marks1,Marks2,Marks3) VALUES(89,87,56);
INSERT INTO DemoTable(Marks1,Marks2,Marks3) VALUES(87,56,54);

আপডেট কুয়েরি: Id=1 এর তিনটি মার্কস আপডেট

UPDATE DemoTable 
SET Marks1 = 98, Marks2 = 96, Marks3 = 99 
WHERE Id = 1;

ফলাফল

+----+--------+--------+--------+
| Id | Marks1 | Marks2 | Marks3 |
+----+--------+--------+--------+
| 1  | 98     | 96     | 99     |
| 2  | 89     | 87     | 56     |
| 3  | 87     | 56     | 54     |
+----+--------+--------+--------+

মূল পয়েন্ট

  • SET col1=val1, col2=val2, col3=val3 — কমা দিয়ে আলাদা করুন
  • WHERE ক্লজ নির্দিষ্ট রো বাছাই করে (না থাকলে সকল রো আপডেট হবে)
  • একই কুয়েরিতে একাধিক রো আপডেট করতে চাইলে CASE WHEN ব্যবহার করুন

একাধিক রো আলাদা ভ্যালুতে আপডেট (CASE WHEN)

UPDATE DemoTable
SET Marks1 = CASE Id
    WHEN 1 THEN 98
    WHEN 2 THEN 95
    WHEN 3 THEN 90
    ELSE Marks1
END,
Marks2 = CASE Id
    WHEN 1 THEN 96
    WHEN 2 THEN 94
    WHEN 3 THEN 88
    ELSE Marks2
END
WHERE Id IN (1,2,3);

এই প্যাটার্ন বাল্ক আপডেট-এ খুব কার্যকর।

  1. MySQL에서 COALESCE로 NULL인 컬럼만 다른 컬럼 값으로 채우기

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

  3. MySQL-এ IN() অপারেটর দিয়ে একক কোয়েরিতে একাধিক রেকর্ড ডিলিট করা

  4. MySQL-এ একক INSERT স্টেটমেন্টে একাধিক রো দ্রুত ইনসার্ট করা