mysql - 创建新记录时,Mysql 偏移量和限制会给出模棱两可的结果
问题描述
我有一个说提醒列表,我从Database
排序依据createdAt
中获取limit = 10
,offsetSent
最初为 0,计算为,当获取发生时,服务器返回一个 param lastOffset = offsetSent + lengthOfRecordsFound
。现在的问题是,当我创建一个新记录时,refresh
列表通过发送一个 ajax 请求,它返回给我最后一条相同的记录,因为新记录被添加到顶部并且offset
仍然是相同的。
有没有人有解决这个问题的方法?
解决方案
我的猜测是这createdAt
不是唯一的(为什么要这样做?)。您需要提供完全确定的排序顺序,否则您使用的任何分页方法都会随机失败。
-- Latest
ORDER BY createdAt DESC, reminderId DESC
-- Oldest
ORDER BY createdAt, reminderId
推荐阅读
- android - 如何撤消透明绘图?
- android - 不同手机上的不同字体大小
- python - 将 DatetimeIndex 转换为日期时间
- jquery - 将动画添加到 replaceWith() jQuery
- java - 如何重定向与应用程序中 url 上的任何错误文本不匹配的主页
- java - Java:优化处理与庞大数据集的多对多关系
- javascript - 如何根据用户角色限制由 Django 支持的前端 SPA 上的屏幕?
- artificial-intelligence - 硕士项目:视频处理和数据科学:在视频数据帧上寻找模式
- android - 在 android 应用程序中动态创建主题样式
- android - 发生错误时如何获得另一个可观察对象的响应?