如何通过id执行更新反向查询mysql?

rom*_*e 웃 3 mysql

我有 5 行,ID 为:1,2,3,4,5。

然后我做了一个查询,尝试将这些 ID 更改为:2,3,4,5,6

Update table set `id` = `id` + 1 
Run Code Online (Sandbox Code Playgroud)

然后我得到:

密钥“PRIMARY”的重复条目“2”。

我知道这个查询首先由 ID 1 执行,原因是 PRIMARY 2 已经存在。

所以我的问题是如何让一个查询已经被ID从5执行到1。

Mon*_*hon 5

创建了一个表 num_sample,其中包含从 1 到 100 的数字。在 num 列上定义了主键。并写了这个更新

update num_sample set num = num + 1 order by num desc limit 100;
Run Code Online (Sandbox Code Playgroud)

在 MySQL 中工作得非常好。