Skip to main content

MySQL批量修改数据排序技巧

描述

idnameage
1userA10
2userB20
3userC30
4userD10
5userE10
6userF10

当前数据表中有6条数据,需要将id为5的记录移动到第2位,第2位及以后的记录依次往后移。下面是一种比较省事的方案。

操作步骤

第1步

update table_name set id = id + 1000 where id > 1 and id < 6;
idnameage
1userA10
6userF10
1002userB20
1003userC30
1004userD10
1005userE10

第2步

update table_name set id = 2 where id = 1005;
idnameage
1userA10
2userE10
6userF10
1002userB20
1003userC30
1004userD10

第3步

update table_name set id = id - 999 where id > 1001;
idnameage
1userA10
2userE10
3userB20
4userC30
5userD10
6userF10