分页查询数据重复问题,如何通过数据库设计避免分页时插入数据导致的重复显示?
- 内容介绍
- 文章标签
- 相关推荐
本文共计422个文字,预计阅读时间需要2分钟。
在我翻页过程中,插入了一条记录,导致再次查询下一页时,发现了上一页的记录。因此,我思考是否应该查看该新增的记录。但这样操作,却无法查看到其他人的记录。
既然是在我分页的过程中,插入了一条记录,导致我再查询下一页的时候,查出来上一页的记录,那么,我思考,我可不可以不去查询他新增的这一条记录。那么这样,就查询不到别人新增的这条记录了。
那么需要的条件就出来了: 数据库表要有创建时间的这么一个字段
那么解决思路就出来了,首先是要前端进行配合。那么其解决思路为:
网页端(前端分页要使用异步加载):
在页面初始化的时候 记录时间,那么再分页查询的时候,带上这个时间,去查询。比如xxxx where create_time < 页面传过来的时间 那么此时插入了一条记录,那么其创建时间 肯定是大于 页面传过来的时间的,那么我们肯定是查询不到这条记录的。那么就解决了我们的问题。
当用户刷新页面的时候,由于页面会初始化,时间会重新更新,那么他就又可以获取之前别人插入的记录了。
本文共计422个文字,预计阅读时间需要2分钟。
在我翻页过程中,插入了一条记录,导致再次查询下一页时,发现了上一页的记录。因此,我思考是否应该查看该新增的记录。但这样操作,却无法查看到其他人的记录。
既然是在我分页的过程中,插入了一条记录,导致我再查询下一页的时候,查出来上一页的记录,那么,我思考,我可不可以不去查询他新增的这一条记录。那么这样,就查询不到别人新增的这条记录了。
那么需要的条件就出来了: 数据库表要有创建时间的这么一个字段
那么解决思路就出来了,首先是要前端进行配合。那么其解决思路为:
网页端(前端分页要使用异步加载):
在页面初始化的时候 记录时间,那么再分页查询的时候,带上这个时间,去查询。比如xxxx where create_time < 页面传过来的时间 那么此时插入了一条记录,那么其创建时间 肯定是大于 页面传过来的时间的,那么我们肯定是查询不到这条记录的。那么就解决了我们的问题。
当用户刷新页面的时候,由于页面会初始化,时间会重新更新,那么他就又可以获取之前别人插入的记录了。

