現在位置: 首頁 > 茶包專欄 > 正文

茶包專欄:SQLite 出現『database disk image is malformed』錯誤解決方式

這幾天遇到某個站台使用 SQLite 的時候在某一張 table 出現『database disk image is malformed』的問題導致整張 table 無法讀取

 

對於這種狀況通常是 table page 損壞了,但這一篇的狀況比較特殊

 

先將 database 匯出

 

 

將 db.sql 匯入新建的 sqlite 進行測試

 

在此篇案例,.read 匯入 sql 檔的時候出現 insert 錯誤訊息,原來開發者在匯入資料的時候誤將 table1 的資料 insert 到 table2 的資料,格式完全不對並且 key 錯誤,所以導致 table 損壞

 

但這代表 SQLite 本身並沒有這樣的防護機制,所以導致 insert 錯誤的資料後 table 就壞了,如果無法避免人為的疏失,那還是少用 SQLite 的好!

 

 

參考資料:

how_to_corrupt

 

 

文章連結: https://shazi.info/%e8%8c%b6%e5%8c%85%e5%b0%88%e6%ac%84%ef%bc%9asqlite-%e5%87%ba%e7%8f%be%e3%80%8edatabase-disk-image-is-malformed%e3%80%8f%e9%8c%af%e8%aa%a4%e8%a7%a3%e6%b1%ba%e6%96%b9%e5%bc%8f/ | Mr. 沙先生

該文章由 shazi7804 於2016年09月02日發表在 茶包專欄 分類下, 你可以發表回文,並在保留原文地址及作者的情况下引用到你的網站或部落格。
原文轉載請註明: 茶包專欄:SQLite 出現『database disk image is malformed』錯誤解決方式 | Mr. 沙先生
標籤: ,

茶包專欄:SQLite 出現『database disk image is malformed』錯誤解決方式:給Mr.沙先生一點建議

發表回文