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

要在MySQL中逐步更新值,您需要借助SET命令创建一个变量。创建变量的语法如下-

set @anyVariableName := 0;

要更新值,您需要使用UPDATE命令。让我们从创建表开始。创建表的查询-

mysql> create table UpdateValueIncrementally
   −> (
   −> ProductId int
   −> );

借助select语句将记录插入表中。查询如下-

mysql> insert into UpdateValueIncrementally values(10);

mysql> insert into UpdateValueIncrementally values(100);

mysql> insert into UpdateValueIncrementally values(1000);

mysql> insert into UpdateValueIncrementally values(110);

mysql> insert into UpdateValueIncrementally values(102);

在select语句的帮助下显示表中的所有记录。查询如下-

mysql> select *from UpdateValueIncrementally;

以下是输出-

+-----------+
| ProductId |
+-----------+
|        10 |
|       100 |
|      1000 |
|       110 |
|       102 |
+-----------+
5 rows in set (0.00 sec)

以下是用于增量更新值的查询-

mysql> set @incrementValue := 33333;

上面创建了一个变量,并将值初始化为33333。以下是更新值并递增的查询-

mysql> update UpdateValueIncrementally set ProductId = (select @incrementValue := @incrementValue + @incrementValue);
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)