Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีอัปเดตคอลัมน์โดยเพิ่มค่าเข้ากับค่าเดิมใน MySQL

ใช้คำสั่ง 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 มาคำนวณก่อน