MySQL UPDATE स्टेटमेंट में IF() फ़ंक्शन का उपयोग
MySQL में IF(condition, true_value, false_value) फ़ंक्शन का उपयोग करके शर्त आधारित अपडेट किया जा सकता है। यह CASE स्टेटमेंट का एक संक्षिप्त विकल्प है।
सिंटैक्स
UPDATE yourTableName SET yourColumnName = IF(yourColumnName = oldValue, newValue, yourColumnName);
उदाहरण: उम्र 23 को 26 में बदलना
CREATE TABLE updateIfConditionDemo (
UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserName VARCHAR(20),
UserAge INT
);
INSERT INTO updateIfConditionDemo (UserName, UserAge) VALUES
('Larry', 23), ('Mike', 21), ('Sam', 23), ('David', 23), ('Maxwell', 23);
अपडेट क्वेरी
UPDATE updateIfConditionDemo SET UserAge = IF(UserAge = 23, 26, UserAge);
परिणाम
+--------+----------+---------+ | UserId | UserName | UserAge | +--------+----------+---------+ | 1 | Larry | 26 | | 2 | Mike | 21 | | 3 | Sam | 26 | | 4 | David | 26 | | 5 | Maxwell | 26 | +--------+----------+---------+
महत्वपूर्ण बिंदु
IF()केवल दो शाखाओं (सच/झूठ) के लिए उपयुक्त है; एकाधिक शर्तों के लिएCASEउपयोग करें।- एल्स ब्रांच में
yourColumnNameदोहराने से अन्य मान अपरिवर्तित रहते हैं। - बड़े टेबल पर अपडेट करते समय
WHEREक्लॉज जोड़कर केवल प्रभावित पंक्तियों को टार्गेट करें (प्रदर्शन के लिए)।
CASE संस्करण (एकाधिक शर्तों के लिए)
UPDATE updateIfConditionDemo
SET UserAge = CASE
WHEN UserAge = 23 THEN 26
WHEN UserAge = 21 THEN 25
ELSE UserAge
END;