10

我正在寻找一个命令行实用程序来验证 SQLite 数据库。我在一些继承代码中遇到了一种情况,即应用程序无法启动,因为尝试访问数据库产生了以下错误:

database disk image is malformed

所以我需要在应用程序中检测一些验证代码。另外,虽然,我需要一个可以从 Linux 提示符运行的工具来简单地告诉我数据库是否损坏。

谢谢

4

2 回答 2

19

你可以这样做:

sqlite3 database.db "PRAGMA integrity_check"
于 2013-08-15T18:19:15.723 回答
10

您可以在数据库上使用PRAGMA 完整性检查。

如果数据库已损坏,您可以使用以下 SQLite 命令:

cd $DATABASE_LOCATION
echo '.dump'|sqlite3 $DB_NAME|sqlite3 new_repaired_$DB_NAME
mv $DB_NAME corrupt_$DB_NAME
mv new_repaired_$DB_NAME $DB_NAME
于 2013-08-15T18:24:27.227 回答