SQLite データベースのデタッチ
SQLite のDETACH DATABASEDETACH DATABASE 文は、以前 ATTACH 文でアタッチされた名前付きデータベースをデータベース接続から分離・切り離すために使用されます。同じデータベースファイルに複数のエイリアスがアタッチされている場合、DETACH コマンドは指定された名前の接続のみを切断し、その他の接続は引き続き有効です。分離できませんmain 或 tempデータベース。
データベースがメモリ内または一時データベースである場合、そのデータベースは破棄され、内容は失われます。
構文
SQLite の DETACH DATABASE 'Alias-Name' 文の基本構文は次のとおりです:
DETACH DATABASE 'Alias-Name';
ここで、'Alias-Name' は、以前 ATTACH 文でデータベースをアタッチしたときに使用したエイリアスと同じです。
例
前の章でデータベースを作成し、それに 'test' と 'currentDB' をアタッチしたとします。.database コマンドを使用すると、次のように表示されます:
sqlite>.databases seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.db 3 currentDB /home/sqlite/testDB.db
次に、'currentDB' を testDB.db から分離してみましょう。次のようにします:
sqlite> DETACH DATABASE 'currentDB';
現在、アタッチされているデータベースを確認すると、testDB.db は引き続き 'test' と 'main' に接続されていることがわかります。
sqlite>.databases seq name file --- --------------- ---------------------- 0 main /home/sqlite/testDB.db 2 test /home/sqlite/testDB.dbその他の拡張