【发布时间】:2019-03-29 05:09:18
【问题描述】:
我正在使用的系统使用 SQLite3 数据库作为后台日志存储,每个条目作为两列条目:|时间|数据|。重放日志就像准备一条语句来获取所有条目一样简单,每个sqlite3_step()调用都会及时返回数据。
从那时起,我们就尝试使用专门的工具来根据需要推进和跳过。现在,我们发现自己处于需要向后退一个或多个条目的情况。有没有办法不重置和/或生成新查询来撤消sqlite3_step() 发生的入口推进?
sqlite3_reset() 不是一个合适的解决方案,因为这会将数据库指针返回到数据库中的第一个条目。我希望回到上次 sqlite3_step() 通话的前一个条目。
【问题讨论】:
-
sqlite step back的可能重复
-
保存您在所选数据结构中已经看到的行中的数据,并使用它来查看以前的记录。
-
对于其中的一些,我们讨论的是 GB 到 TB 的数据量级;我们不想预读,因为使用这些数据的一些工具的整体速度下降和资源占用。关于“sqlite 后退”重复:
sqlite_reset()不是一个选项,因为它会将您带回到数据库中的第一个条目。我正在寻找前一个检索到的条目。