Bạn có thể tăng và giảm giá trị hàng 1 trong MySQL bằng lệnh UPDATE. Cú pháp như sau -
UPDATE yourTableName set yourColumnName = yourColumnName-1 where condition;
Hãy để chúng tôi tạo một bảng để giảm giá trị hàng xuống 1. Sau đây là truy vấn -
mysql> create table IncrementAndDecrementValue −> ( −> UserId int, −> UserScores int −> ); Query OK, 0 rows affected (0.60 sec)
Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -
mysql> insert into IncrementAndDecrementValue values(101,20000); Query OK, 1 row affected (0.13 sec) mysql> insert into IncrementAndDecrementValue values(102,30000); Query OK, 1 row affected (0.20 sec) mysql> insert into IncrementAndDecrementValue values(103,40000); Query OK, 1 row affected (0.11 sec)
Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -
mysql> select *from IncrementAndDecrementValue;
Sau đây là kết quả đầu ra;
+--------+------------+ | UserId | UserScores | +--------+------------+ | 101 | 20000 | | 102 | 30000 | | 103 | 40000 | +--------+------------+ 3 rows in set (0.00 sec)
Đây là truy vấn để giảm giá trị UserScores đi 1 với điều kiện where.
mysql> update IncrementAndDecrementValue set UserScores = UserScores-1 where UserId = 103; Query OK, 1 row affected (0.41 sec) Rows matched: 1 Changed: 1 Warnings: 0
Hãy để chúng tôi kiểm tra xem giá trị có được cập nhật hay không. Truy vấn như sau -
mysql> select *from IncrementAndDecrementValue;
Sau đây là kết quả hiển thị rằng chúng tôi đã giảm giá trị hàng thành công -
+--------+------------+ | UserId | UserScores | +--------+------------+ | 101 | 20000 | | 102 | 30000 | | 103 | 39999 | +--------+------------+ 3 rows in set (0.00 sec)