当我执行“vacuum;”时,刚刚在下面发现了消息。
“数据库磁盘映像格式错误。”
所以,我确实喜欢那些。
C>sqlite [malformed.db]
sqlite3>.mode insert
sqlite3>.output a.sql
sqlite3>.dump
并继续...
C>sqlite3 new.db
sqlite3>.read a.sql
终于找到了文件大小为0字节的new.db。
有什么想法吗?
出于某种原因,您所描述的这个过程,当数据库格式错误时,会在 sql 文件中添加最后一行,表示“回滚”(--由于错误,它会详细说明)。
让我想起一些与精灵有关的轶事,不是吗?
虽然它的目的是防止在现有基础上导入数据时发生灾难,但如果您只想从头开始重建数据库,那将是一场灾难。
因此,删除此行,将其替换为“end transaction;”,重新运行,希望一切顺利。