ใช้คำสั่ง UPDATE ... SET column = column + value เพื่อเพิ่มค่าเข้ากับค่าที่มีอยู่แล้ว
ไวยากรณ์
UPDATE yourTableName SET yourColumnName = yourColumnName + valueToAdd WHERE yourCondition;
ตัวอย่างการใช้งาน
สร้างตาราง addingValueToExisting:
mysql> CREATE TABLE addingValueToExisting (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Name VARCHAR(30),
-> GameScore INT,
-> PRIMARY KEY(Id)
-> );
เพิ่มข้อมูล:
mysql> INSERT INTO addingValueToExisting(Name, GameScore) VALUES('John', 89);
mysql> INSERT INTO addingValueToExisting(Name, GameScore) VALUES('Mike', 56);
mysql> INSERT INTO addingValueToExisting(Name, GameScore) VALUES('Sam', 99);
mysql> INSERT INTO addingValueToExisting(Name, GameScore) VALUES('Carol', 100);
mysql> INSERT INTO addingValueToExisting(Name, GameScore) VALUES('David', 67);
mysql> INSERT INTO addingValueToExisting(Name, GameScore) VALUES('Bob', 78);
ข้อมูลก่อนอัปเดต
+----+-------+-----------+ | Id | Name | GameScore | +----+-------+-----------+ | 1 | John | 89 | | 2 | Mike | 56 | | 3 | Sam | 99 | | 4 | Carol | 100 | | 5 | David | 67 | | 6 | Bob | 78 | +----+-------+-----------+
คำสั่งเพิ่ม 10 คะแนนให้ Carol (Id = 4)
mysql> UPDATE addingValueToExisting
-> SET GameScore = GameScore + 10
-> WHERE Id = 4;
ผลลัพธ์หลังอัปเดต
+----+-------+-----------+ | Id | Name | GameScore | +----+-------+-----------+ | 4 | Carol | 110 | +----+-------+-----------+
คำอธิบาย: ค่าเดิม 100 กลายเป็น 110 (เพิ่ม 10) โดยไม่ต้อง SELECT มาคำนวณก่อน