समाधान: UPDATE के साथ अंकगणितीय संक्रिया
MySQL में किसी कॉलम के वर्तमान मान में संख्या जोड़ने के लिए UPDATE स्टेटमेंट में सीधे अंकगणितीय अभिव्यक्ति का उपयोग करें।
सिंटैक्स
UPDATE yourTableName SET yourColumnName = yourColumnName + yourIntegerValue WHERE yourCondition;
व्यावहारिक उदाहरण
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE addANumberToCurrentValueDemo (
-> Game_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Game_Score INT
-> );
mysql> INSERT INTO addANumberToCurrentValueDemo(Game_Score) VALUES
-> (1090), (204), (510), (7890), (8999), (1093859), (157596), (4857567);
विशिष्ट पंक्ति अद्यतन करना (Game_Id = 5)
mysql> UPDATE addANumberToCurrentValueDemo
-> SET Game_Score = Game_Score + 11
-> WHERE Game_Id = 5;
Query OK, 1 row affected (0.15 sec)
परिणाम
| Game_Id | Game_Score (पहले) | Game_Score (बाद में) |
|---|---|---|
| 5 | 8999 | 9010 |
एकाधिक पंक्तियाँ एक साथ अद्यतन करना
शर्त के आधार पर
-- सभी स्कोर में 100 जोड़ें जहां स्कोर 1000 से कम है UPDATE addANumberToCurrentValueDemo SET Game_Score = Game_Score + 100 WHERE Game_Score < 1000;
केस स्टेटमेंट के साथ सशर्त वृद्धि
UPDATE addANumberToCurrentValueDemo
SET Game_Score = Game_Score + CASE
WHEN Game_Score < 1000 THEN 100
WHEN Game_Score < 10000 THEN 50
ELSE 10
END;
महत्वपूर्ण नोट्स
- WHERE क्लॉज के बिना सभी पंक्तियाँ अद्यतन हो जाएंगी
- लेनदेन (TRANSACTION) का उपयोग करके सुरक्षित रूप से एकाधिक अद्यतन करें
- बड़े टेबल पर प्रदर्शन के लिए इंडेक्स सुनिश्चित करें