Nos últimos dois dias, os dados de sqlite de um cliente foram danificados, então irei ajudá-lo a restaurá-los.
De modo geral, execute o seguinte comando com sqlite3 para corrigi-lo.
sqlite3 old.db .dump> newsfeed.sql
sqlite3 new.db <newsfeed.sql
Mas tentei várias vezes, e o banco de dados após o reparo estava todo 0KB.
Depois de muitas reviravoltas, descobri que, depois que o banco de dados danificado foi despejado no sql, a última linha se tornou ROLLBACK;
Bom cara, tudo revertido para mim.
Use o emeditor para alterar ROLLBACK; para COMMIT;
Em seguida, execute sqlite3 new.db <newsfeed.sql
Tudo bem haha, finalmente feito, e eu não decepcionei os clientes.
Fonte: http://www.cnblogs.com/iguor/archive/2012/08/23/2653442.html