MySQL 查询将特定记录的值减少为零?

mysqlmysqli database更新于 2025/9/3 23:40:17

使用 SET 减少值,使用 WHERE 将特定记录的条件设置为 0。让我们首先创建一个表−

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Number int
   );
Query OK, 0 rows affected (0.54 sec)

使用 insert 在表中插入一些记录 command &minus

mysql> insert into DemoTable(Number) values(10);
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable(Number) values(20);
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable(Number) values(1);
Query OK, 1 row affected (0.10 sec)

mysql> insert into DemoTable(Number) values(0);
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable(Number) values(-1);
Query OK, 1 row affected (0.39 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable;

这将产生以下输出 −

+----+--------+
| Id | Number |
+----+--------+
|  1 |     10 |
|  2 |     20 |
|  3 |      1 |
|  4 |      0 |
|  5 |     -1 |
+----+--------+
5 rows in set (0.00 sec)

以下是将值减少到 0 的查询 −

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

让我们再次显示表记录 −

mysql> select *from DemoTable;

这将产生以下输出。现在,ID 为 3 的记录为 0,因为我们将其减少了 1 −

+----+--------+
| Id | Number |
+----+--------+
|  1 |     10 |
|  2 |     20 |
|  3 |      0 |
|  4 |      0 |
|  5 |     -1 |
+----+--------+
5 rows in set (0.00 sec)

相关文章


有用资源