ใช้คำสั่ง SET เพื่อลดค่า และ WHERE เพื่อระบุเงื่อนไขแถวที่ต้องการให้ค่าเป็น 0
สร้างตารางตัวอย่าง
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Number INT
);
เพิ่มข้อมูล
mysql> INSERT INTO DemoTable(Number) VALUES (10);
mysql> INSERT INTO DemoTable(Number) VALUES (20);
mysql> INSERT INTO DemoTable(Number) VALUES (1);
mysql> INSERT INTO DemoTable(Number) VALUES (0);
mysql> INSERT INTO DemoTable(Number) VALUES (-1);
ดูข้อมูลก่อนอัปเดต
mysql> SELECT * FROM DemoTable;
+----+--------+
| Id | Number |
+----+--------+
| 1 | 10 |
| 2 | 20 |
| 3 | 1 |
| 4 | 0 |
| 5 | -1 |
+----+--------+
คำสั่งลดค่าลงเป็น 0 (เฉพาะแถวที่ Id=3 และค่าเดิมมากกว่า 0)
mysql> UPDATE DemoTable
-> SET Number = Number - 1
-> WHERE Id = 3 AND Number > 0;
Query OK, 1 row affected (0.20 sec)
Rows matched: 1 Changed: 1 Warnings: 0
ดูข้อมูลหลังอัปเดต
mysql> SELECT * FROM DemoTable;
+----+--------+
| Id | Number |
+----+--------+
| 1 | 10 |
| 2 | 20 |
| 3 | 0 |
| 4 | 0 |
| 5 | -1 |
+----+--------+
หมายเหตุ: เงื่อนไข Number > 0 ป้องกันไม่ให้ค่าติดลบ (แถว Id=5 ไม่ถูกอัปเดต)