我想找到一种方法来更新MySQL中的“自定义排名”字段,以便它将相应地对所有其他项目重新编号.
样本数据:
ID Name Ranking
12 Sara 1
13 Mike 2
14 John 3
15 Susie 4
16 Melissa 5
17 Jane 6
如果通过PHP将“简”更新到排名2,我希望每个人从“迈克”降到“梅利莎”都移到排名3到6.
设置Rank = 2(其中ID = 17),并找到一种方法循环遍历其他人以提高排名.
最佳答案
您可以尝试这样的事情
原文链接:https://www.f2er.com/mysql/531918.htmlif($curSort > $setSort){
// "UPDATE table SET Ranking = (Ranking + 1) WHERE Ranking >= $setSort AND Ranking < $curSort"
} elseif($curSort < $setSort){
// "UPDATE table SET Ranking = (Ranking - 1) WHERE Ranking > $curSort AND Ranking <= $setSort"
}
///update $curSort to $setSort
其中$curSort = 6;和$setSort = 2;