如何使用递增的值更新表中的所有记录?

foz*_*zeh 2 mysql sql

我有一张桌子"House":

id | name | order
1  | riw  | 0
2  | hnm  | 0
4  | vse  | 0
5  | tes  | 0
Run Code Online (Sandbox Code Playgroud)

我想简单地接受:

id | name | order
1  | riw  | 0
2  | hnm  | 1
4  | vse  | 2
5  | tes  | 3
Run Code Online (Sandbox Code Playgroud)

所以我尝试过:

UPDATE house SET position = position + 1
Run Code Online (Sandbox Code Playgroud)

但是如何增加这个值呢?

Pra*_*ran 8

使用id列进行更新:

UPDATE house SET order = id - 1
Run Code Online (Sandbox Code Playgroud)

如果您觉得id可以从1以外的n值开始,请尝试:

SET @position:=0;
update house
set order=@position:=@position+1
Run Code Online (Sandbox Code Playgroud)