问题发现:分页表格第一页和第二页会出现同一个数据。
一开始以为是用的elementUI或者是sqlsugar的分页产生的问题。
仔细一看,本机没有这个问题。
问了问老大,线上用的是mysql5,我自己电脑上是mysql8。
而且仔细用线上地址试了试,发现只有使用倒序的时间字段相同时,才会出现这种随机排序的问题。
首先就觉得是不是mysql版本问题,原因还得再看看。
我的解决办法是多用主键去排序
ORDER BY XXXXtime desc, XXXXNo desc
不过这个表的主键是纯数字的字符串,在排序的时候发现 9k999比10K排的前——按照字符串的排序规则来的,而不是数字的排序规则
所以改动一下
ORDER BY XXXXtime desc, XXXXNo+0 desc
-- 或者是
ORDER BY XXXXtime desc, XXXXNo*1 desc
-- 把它变成int排序
博客探讨了在使用MySQL进行分页时遇到的一个问题,即在特定条件下数据出现重复。作者发现该问题是由于时间字段相同且使用字符串排序导致的。解决方案是通过添加主键作为排序条件,并将主键转换为整数排序以避免数字字符串排序的反常。此外,文章提到了线上环境使用的是MySQL5,而本地是MySQL8,可能存在的版本差异。
1544

被折叠的 条评论
为什么被折叠?



