SQLite-DETACHデータベース

SQLite DETACH 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

次のコマンドを使用して、testDB.dbから「currentDB」をデタッチしてみましょう。

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