如何在 MySQL 更新中执行增量?

mysqlmysqli database

要在 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: 00

在上述查询中,我已使用 @incrementValue 的当前值增量了值。现在您可以检查值是否已更新 −

mysql> select *from UpdateValueIncrementally ;

以下是输出 −

+-----------+
| ProductId |
+-----------+
|     66666 |
|    133332 |
|    266664 |
|    533328 |
|   1066656 |
+-----------+
5 rows in set (0.00 sec)

相关文章