如何在单个 MySQL 查询中将特定列的所有行增加 1(ID 列 +1)?


若要将特定 ID 列的所有行增加 1,你需要使用 UPDATE 命令并更新表。查询语法如下。我们在此处还使用了 ORDER BY

UPDATE yourTableName SET yourIdColumnName=yourIdColumnName+1 ORDER BY yourIdColumnName DESC;

为了理解上面的语法,让我们创建一个表。创建表的查询如下

mysql> create table IdColumnadd1Demo
   - > (
   - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY
   - > );
Query OK, 0 rows affected (0.58 sec)

使用 insert 命令在表中插入一些记录。

查询如下

mysql> insert into IdColumnadd1Demo values();
Query OK, 1 row affected (0.12 sec)
mysql> insert into IdColumnadd1Demo values();
Query OK, 1 row affected (0.18 sec)
mysql> insert into IdColumnadd1Demo values();
Query OK, 1 row affected (0.17 sec)
mysql> insert into IdColumnadd1Demo values();
Query OK, 1 row affected (0.08 sec)
mysql> insert into IdColumnadd1Demo values();
Query OK, 1 row affected (0.10 sec)
mysql> insert into IdColumnadd1Demo values();
Query OK, 1 row affected (0.13 sec)
mysql> insert into IdColumnadd1Demo values();
Query OK, 1 row affected (0.25 sec)
mysql> insert into IdColumnadd1Demo values();
Query OK, 1 row affected (0.40 sec)

使用 select 语句从表中显示所有记录。

查询如下

mysql> select *from IdColumnadd1Demo;

输出如下

+----+
| Id |
+----+
|  1 |
|  2 |
|  3 |
|  4 |
|  5 |
|  6 |
|  7 |
|  8 |
+----+
8 rows in set (0.00 sec)

以下是对 MySQL ID 列+1 进行调整的查询

mysql> update IdColumnadd1Demo set Id=Id+1 Order By Id DESC;
Query OK, 8 rows affected (0.18 sec)
Rows matched: 8 Changed: 8 Warnings: 0

再次检查表记录。

查询如下

mysql> select *from IdColumnadd1Demo;

输出如下

+----+
| Id |
+----+
|  2 |
|  3 |
|  4 |
|  5 |
|  6 |
|  7 |
|  8 |
|  9 |
+----+
8 rows in set (0.00 sec)

更新时间:2019 年 7 月 30 日

2K+ 浏览量

启动你的事业

完成课程并获得认证

开始
广告