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

2016-09-02 茶包專欄

這幾天遇到某個站台使用 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

 

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

彙整

分類

open all | close all

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱