请教一个 sqlite 的问题

2023-08-28 10:06:55 +08:00
 maxssy
一个客户端使用 sqlite 存储本地数据, 如果 sqlite 在写入的时候客户端突然关闭, 那这条数据会不会没写完?
如果没写完是会造成整个数据库文件损坏还是只是那条数据损坏? 可否修复?
850 次点击
所在节点    程序员
3 条回复
rev1si0n
2023-08-28 10:37:49 +08:00
我觉得(猜测不作为证据),SQLite 应该不会有这种低级错误,应该最多只会是那条数据不会成功写入。你可以写代码试一下,不断写入大的 blob (同时复制一个大文件到同磁盘来占用掉写入速度),随机 kill 多来十几次。
codehz
2023-08-28 10:59:26 +08:00
参考损坏 sqlite 数据库的几种方法 https://sqlite.org/howtocorrupt.html
realJamespond
2023-08-28 13:49:19 +08:00
这不是事务做的事情?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/968756

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX