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

Giảm giá trị của một bản ghi cụ thể xuống 0 trong MySQL

Để giảm giá trị của một cột số cho một bản ghi cụ thể xuống 0 (hoặc giảm dần), bạn sử dụng câu lệnh UPDATE kết hợp với mệnh đề WHERE để xác định bản ghi và điều kiện.

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

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Number INT
);

mysql> INSERT INTO DemoTable (Number) VALUES 
(10), (20), (1), (0), (-1);

Xem dữ liệu ban đầu

mysql> SELECT * FROM DemoTable;
+----+--------+
| Id | Number |
+----+--------+
|  1 |     10 |
|  2 |     20 |
|  3 |      1 |
|  4 |      0 |
|  5 |     -1 |
+----+--------+

Câu lệnh UPDATE giảm giá trị cho Id = 3

Chỉ giảm khi giá trị hiện tại > 0 để tránh âm:

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

Kết quả sau khi cập nhật

mysql> SELECT * FROM DemoTable;
+----+--------+
| Id | Number |
+----+--------+
|  1 |     10 |
|  2 |     20 |
|  3 |      0 |
|  4 |      0 |
|  5 |     -1 |
+----+--------+

Lưu ý: Điều kiện Number > 0 đảm bảo không giảm giá trị đã là 0 hoặc âm. Nếu muốn đặt trực tiếp về 0 bất kể giá trị cũ, dùng SET Number = 0.