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

MySQL-এ IF শর্ত ব্যবহার করে UPDATE করা

MySQL-এ শর্তসাপেক্ষে ডেটা আপডেট করতে IF() ফাংশন বা CASE এক্সপ্রেশন ব্যবহার করা যায়। IF() সহজ кейসের জন্য আদর্শ।

IF() ফাংশন সিনট্যাক্স

UPDATE table_name
SET column_name = IF(column_name = old_value, new_value, column_name);

উদাহরণ: ২৩ বছর বয়সকে ২৬ করুন

CREATE TABLE update_demo (
    user_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    user_name VARCHAR(20),
    user_age INT
);

INSERT INTO update_demo (user_name, user_age) VALUES
('Larry', 23), ('Mike', 21), ('Sam', 23), ('David', 23), ('Maxwell', 23);

আপডেট ক্যোয়ারি

UPDATE update_demo
SET user_age = IF(user_age = 23, 26, user_age);

ফলাফল

+---------+-----------+---------+
| user_id | user_name | user_age|
+---------+-----------+---------+
| 1       | Larry     | 26      |
| 2       | Mike      | 21      |
| 3       | Sam       | 26      |
| 4       | David     | 26      |
| 5       | Maxwell   | 26      |
+---------+-----------+---------+

CASE এক্সপ্রেশন (বহু শর্তের জন্য)

UPDATE update_demo
SET user_age = CASE
    WHEN user_age = 23 THEN 26
    WHEN user_age = 21 THEN 25
    ELSE user_age
END;

WHERE ক্লজ সহ (পারফরম্যান্সের জন্য ভালো)

UPDATE update_demo
SET user_age = 26
WHERE user_age = 23;

টিপ: সিম্পল শর্তের জন্য WHERE ক্লজই সবচেয়ে দ্রুত ও পঠনযোগ্য। জটিল লজিকের জন্য CASE ব্যবহার করুন।

বहু কলাম আপডেট একসাথে

UPDATE users
SET status = IF(last_login < DATE_SUB(NOW(), INTERVAL 1 YEAR), 'inactive', 'active'),
    last_updated = NOW()
WHERE id > 0;
  1. MySQL স্টোরড প্রসিডিউরে শর্তসাপেক্ষ UPDATE (WHERE ক্লজ সহ)

  2. MySQL UPDATE문에서 IF문으로 조건부 업데이트하기

  3. MySQL에서 DATE() 함수로 날짜 부분만 비교해 레코드 업데이트하기

  4. Apache-এ MySQL ব্যবহার (Using MySQL with Apache)