將特定記錄值減小到零的 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 人瀏覽

開啟您的職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.