MySQL 如何在Update中执行递增操作
要在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)
阅读更多:MySQL 教程
极客教程