การใช้ UPDATE ร่วมกับเงื่อนไข WHERE
สามารถลดค่าลง (Decrement) ในคอลัมน์ได้โดยใช้คำสั่ง UPDATE พร้อมกำหนดเงื่อนไขไม่ให้ค่าต่ำกว่า 0
รูปแบบคำสั่ง
UPDATE yourTableName SET yourColumnName = yourColumnName - 1 WHERE yourColumnName > 0;
ตัวอย่างการสร้างตารางและข้อมูล
mysql> CREATE TABLE DecrementDemo (
-> DecrementValue INT
-> );
Query OK, 0 rows affected (0.62 sec)
mysql> INSERT INTO DecrementDemo VALUES(15),(14),(13),(12),(11),(10);
Query OK, 6 rows affected (0.18 sec)
ข้อมูลก่อนการอัปเดต
mysql> SELECT * FROM DecrementDemo;
+----------------+ | DecrementValue | +----------------+ | 15 | | 14 | | 13 | | 12 | | 11 | | 10 | +----------------+ 6 rows in set (0.00 sec)
คำสั่งลดค่าลง 1 โดยไม่ให้ต่ำกว่า 0
mysql> UPDATE DecrementDemo
-> SET DecrementValue = DecrementValue - 1
-> WHERE DecrementValue > 0;
Query OK, 6 rows affected (0.16 sec)
ข้อมูลหลังการอัปเดต
mysql> SELECT * FROM DecrementDemo;
+----------------+ | DecrementValue | +----------------+ | 14 | | 13 | | 12 | | 11 | | 10 | | 9 | +----------------+ 6 rows in set (0.00 sec)
จุดสำคัญ: เงื่อนไข WHERE DecrementValue > 0 จะป้องกันไม่ให้ค่าลดลงต่ำกว่าศูนย์ เนื่องจากจะอัปเดตเฉพาะแถวที่ค่ามากกว่า 0 เท่านั้น