JJe*_*eff 5 sqlite varchar primary-key sqlite2
感谢阅读,希望能解答
由于遗留问题和公司政策,我使用 SQLite 2.8.17 并有一些 varchars 作为主键。
但是,当我运行"pragma integrity_check" 时,它会在具有 varchar 主键的表上报告“索引中缺少 rowid”和“索引中的条目数错误”,但返回的结果是可以的。
Extended Constant DB 访问和使用(大约一天的负载测试)似乎导致 DB 失败(完整性检查返回 FAIL)并且唯一的解释(通过.explain)是与之前相同的错误(“rowid 从索引中丢失”和“索引中的条目数错误”)。
任何人都可以帮忙吗?我做错了什么吗?
谢谢。
如果您清理数据库,那么至少应该在没有完整性检查失败的情况下重新构建它。然后,按照您所说的尝试访问和使用一天,看看错误是否仍然存在。
要清理数据库,请在命令行中输入数据库并键入:VACUUM;,或使用命令行:
sqlite2.exe mydb.db "vacuum;"
Run Code Online (Sandbox Code Playgroud)
(虽然我似乎记得 SQLite2 在 后需要一个表名VACUUM,所以你可能需要进行一些实验。尽管如此,它仍然会影响所有表。)
| 归档时间: |
|
| 查看次数: |
1479 次 |
| 最近记录: |