sqlite关于The database disk image is malformed问题的解决

这两天一个客户的sqlite数据损坏了,我来帮他做恢复。

一般来说,用sqlite3执行以下命令就修复了。

sqlite3 old.db .dump > newsfeed.sql

sqlite3 new.db < newsfeed.sql

但是我尝试了好几次,修复之后的数据库都是0KB的。

几经周折我发现,损坏的数据库dump成sql之后,最后一行变成了ROLLBACK;

好家伙,全给我回滚了啊。

用emeditor把ROLLBACK;改成COMMIT;

再执行sqlite3 new.db < newsfeed.sql

好啦哈哈,终于好了,没有让客户失望。

你可能感兴趣的:(sqlite关于The database disk image is malformed问题的解决)