MySQL 如何一次性使用单个查询增加特定列的所有行(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)
阅读更多:MySQL 教程
极客教程