Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

UPDATE MySQL giới hạn giá trị tối đa không cho vượt quá ngưỡng

Sử dụng hàm LEAST(value, max_value) trong câu UPDATE để đảm bảo giá trị không vượt quá ngưỡng cho phép.

Tạo bảng và dữ liệu

mysql> CREATE TABLE DemoTable (Value INT);
Query OK, 0 rows affected (0.54 sec)
mysql> INSERT INTO DemoTable VALUES(100), (150), (180), (200);
Query OK, 4 rows affected (0.21 sec)

Cập nhật cộng 45 nhưng tối đa 200

mysql> SET @value := 45;
Query OK, 0 rows affected (0.00 sec)
mysql> UPDATE DemoTable SET Value = LEAST(Value + @value, 200);
Query OK, 3 rows affected (0.21 sec)

Kết quả:

+-------+
| Value |
+-------+
| 145   |
| 195   |
| 200   |
| 200   |
+-------+
4 rows in set (0.00 sec)

Giải thích:

  • 100 + 45 = 145 < 200 → 145
  • 150 + 45 = 195 < 200 → 195
  • 180 + 45 = 225 > 200 → 200 (giới hạn)
  • 200 + 45 = 245 > 200 → 200 (giới hạn)

Hàm đối lập: GREATEST(value, min_value) để giới hạn tối thiểu.