需求
- 交易记录条数过多,需要分页处理
坑
- 当进行翻页的时候会有重复的数据数据出现。
- 原因:在查询的时候,有新的交易记录产生,会影响偏移条数的统计。mysql中使用的是limit $page$length,$length的语句进行查询的,当他查询第一页前面20的时候返回的前面20条,当有新的1条交易记录产生的时候,实际上对应的第二页得数据应该是第22到第41条(因为产生记录之前的第20条数据,已经顺移了一个位置*),实际上显示的是第21到第40条,所以第21条数据应该是重复的
解决方案
- 在进行分页的时候,传入当前页的最有一个记录的id然后在分页的sql变成where id>? limit $lenght