2013-08-08 10 views
16

私はどのようにsqliteデータベースを真空にするかを知りたい。 私は、コマンドプロンプトからデータベース全体の構文マニュアルVACUUMコマンドを試してみました:sqliteデータベースを掃除する方法?

$sqlite3 database_name "VACUUM;"; 

しかし、それはようにエラーを与えている:

near "database_name": syntax error. 

ともAUTOのVACUUM:

PRAGMA auto_vacuum = INCREMENTAL; 

と試みたがそれは特定のテーブルのために:

VACUUM table_name; 

しかし結果はありません。

答えて

16

構文でテーブル名を指定しないでください。 VACUUMのみ動作します。

また、メインデータベースのみが削除され、添付されたデータベースファイルは削除されません。

詳細については、SQLite documentationを参照してください。

+1

このページは上のようにその可能性を示唆している:実際のところ

$sqlite3 database_name 'VACUUM;' 

が、これはコマンドラインからも他のクエリを実行する方法でありますテーブルhttp://www.tutorialspoint.com/sqlite/sqlite_vacuum.htm –

+0

sqlite3コマンドラインの 'VACUUM'は、VACUUMメインデータベースのみになります。添付データベースは、sqlite3 verison 'version 3.15.0'からのみVACUUMEDできます。 古いバージョンでは、データベース名*を指定する必要があります。これは@yöliitäjäで述べたように 'bash'から動作します。答え: ' $ sqlite3 database_name 'VACUUM;' ' –

1

このようなコマンドを与える:

$sqlite3 database_name 'select * from tablename;' 
関連する問題