将特定记录值减小到零的 MySQL 查询?


Use 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)

使用 &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;

将产生以下输出。现在,由于我们将其减少了 1,因此 Id 为 3 的记录变为 0 −

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

更新时间:2019-07-30

112 人浏览

开启您的职业

通过完成课程获得认证

开始
广告