ใช้ LEAST() เลือกค่าที่น้อยกว่าระหว่าง (ค่าเดิม + เพิ่ม) และค่าสูงสุดที่อนุญาต
สร้างตารางตัวอย่าง
mysql> CREATE TABLE DemoTable (
-> Value INT
-> );
เพิ่มข้อมูลตัวอย่าง
mysql> INSERT INTO DemoTable VALUES(100), (150), (180), (200);
แสดงข้อมูล
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+-------+ | Value | +-------+ | 100 | | 150 | | 180 | | 200 | +-------+
คำสั่งเพิ่ม 45 แต่ไม่เกิน 200
mysql> SET @value := 45; mysql> UPDATE DemoTable SET Value = LEAST(Value + @value, 200);
ตรวจสอบผลลัพธ์
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+-------+ | Value | +-------+ | 145 | | 195 | | 200 | | 200 | +-------+
คำอธิบาย: LEAST(Value + 45, 200) จะคืนค่าที่น้อยกว่า 100+45=145 (น้อยกว่า 200) -> 145 | 150+45=195 -> 195 | 180+45=225 (มากกว่า 200) -> 200 | 200+45=245 -> 200