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
その他の拡張