sqlite: Error: database disk image is malformed

sqliteにて「Error: database disk image is malformed」が表示されたときの対処方法です。

結論としては「dumpし新しいDBを作成する」ということになります。

実際に行ってみたときの記録です。

# Error: database disk image is malformed が表示されて、Update/Insertできない

# my.sqbが破損したファイル(DB)

# dumpして新しいDBを作成します。
sqlite3 ./my.sqb .dump | sqlite3 ./my.sqb.new

# ファイル名を変更し、同じ名前で新しいDBを作ります。
mv ./my.sqb ./my.sqb.old
mv ./my.sqb.new ./my.sqb

参考にさせていただきました。有難うございます

薫のhack - FreeBSD や セキュリティ、プログラミングの記録