Sqlite-attach-database
提供:Dev Guides
SQLite-ATTACHデータベース
複数のデータベースが使用可能で、一度にいずれか1つのデータベースを使用する場合を考えてください。 SQLite ATTACH DATABASE ステートメントは特定のデータベースを選択するために使用され、このコマンドの後、すべてのSQLiteステートメントは接続されたデータベースの下で実行されます。
構文
以下は、SQLite ATTACH DATABASEステートメントの基本的な構文です。
ATTACH DATABASE 'DatabaseName' As 'Alias-Name';
上記のコマンドは、データベースがまだ作成されていない場合にもデータベースを作成します。それ以外の場合、データベースファイル名を論理データベース「エイリアス名」に添付します。
例
既存のデータベース testDB.db をアタッチする場合、ATTACH DATABASEステートメントは次のようになります-
sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';
SQLite .database コマンドを使用して、接続されたデータベースを表示します。
sqlite> .database
seq name file
--- --------------- ----------------------
0 main /home/sqlite/testDB.db
2 test /home/sqlite/testDB.db
データベース名 main および temp は、一時データベースおよびその他の一時データオブジェクトを保持するプライマリデータベースおよびデータベース用に予約されています。 これらのデータベース名は両方のデータベース接続に存在するため、接続には使用しないでください。そうしないと、次の警告メッセージが表示されます。
sqlite> ATTACH DATABASE 'testDB.db' as 'TEMP';
Error: database TEMP is already in use
sqlite> ATTACH DATABASE 'testDB.db' as 'main';
Error: database TEMP is already in use