如何在 MySQL 更新中執行增量?
要在 MySQL 中對值進行遞增更新,需要藉助 SET 命令建立一個變數。建立變數的語法如下 −
set @anyVariableName := 0;
要更新值,需要使用 UPDATE 命令。讓我們從建立一個表開始。建立表的查詢 −
mysql> create table UpdateValueIncrementally −> ( −> ProductId int −> ); Query OK, 0 rows affected (0.90 sec)
使用 select 語句插入記錄到表中。查詢如下 −
mysql> insert into UpdateValueIncrementally values(10); Query OK, 1 row affected (0.15 sec) mysql> insert into UpdateValueIncrementally values(100); Query OK, 1 row affected (0.16 sec) mysql> insert into UpdateValueIncrementally values(1000); Query OK, 1 row affected (0.09 sec) mysql> insert into UpdateValueIncrementally values(110); Query OK, 1 row affected (0.17 sec) mysql> insert into UpdateValueIncrementally values(102); Query OK, 1 row affected (0.11 sec)
使用 select 語句顯示錶中的所有記錄。查詢如下 −
mysql> select *from UpdateValueIncrementally;
以下是輸出 −
+-----------+ | ProductId | +-----------+ | 10 | | 100 | | 1000 | | 110 | | 102 | +-----------+ 5 rows in set (0.00 sec)
以下是遞增更新值的查詢 −
mysql> set @incrementValue := 33333; Query OK, 0 rows affected (0.00 sec)
此變數已在上面建立,值為 33333。以下是更新值和遞增值的查詢 −
mysql> update UpdateValueIncrementally set ProductId = (select @incrementValue := @incrementValue + @incrementValue); Query OK, 5 rows affected (0.21 sec) Rows matched: 5 Changed: 5 Warnings: 0
在上述查詢中,我用 @incrementValue 的當前值對該值進行了遞增。現在,你可以檢查值是否已更新 −
mysql> select *from UpdateValueIncrementally ;
以下是輸出 −
+-----------+ | ProductId | +-----------+ | 66666 | | 133332 | | 266664 | | 533328 | | 1066656 | +-----------+ 5 rows in set (0.00 sec)
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP