![](/img/trans.png)
[英]Difference between INT PRIMARY KEY and INTEGER PRIMARY KEY SQLite
[英]SQLite - Is it possible to make a non-integer Primary Key work?
感謝閱讀並希望回答,
由於遺留問題和公司政策,我正在使用SQLite 2.8.17並且有一些varchars作為主鍵。
但是當我運行“pragma integrity_check”時 ,它會使用varchar主鍵報告“index中缺少rowid”和“index中的條目錯誤數” ,但返回的結果是OK。
擴展常數DB訪問和使用(大約一天的負載測試)似乎導致數據庫失敗( 完整性檢查返回FAIL),唯一的解釋(通過.explain )是與之前相同的錯誤( “rowid從索引中丟失”和“索引中錯誤的條目數” )。
有人可以幫忙嗎? 我有什么不對勁嗎?
謝謝。
如果您對數據庫進行抽真空,那么至少應該重新構建它,而不會出現此完整性檢查失敗。 然后,按照您的說法嘗試一天訪問和使用,並查看錯誤是否仍然存在。
要清空數據庫,請在命令行中輸入數據庫並鍵入: VACUUM;
,或使用命令行:
sqlite2.exe mydb.db "vacuum;"
(雖然我似乎記得SQLite2在VACUUM
之后需要一個表名,所以你可能需要稍微試驗一下。它會影響所有表。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.