SQLite Attach Database
Предположим ситуацию, когда одновременно доступно несколько баз данных и вы хотите использовать любую из них. Инструкция SQLiteATTACH DATABASEиспользуется для выбора конкретной базы данных. После использования этой команды все инструкции SQLite будут выполняться в присоединённой базе данных.
Синтаксис
Базовый синтаксис инструкции ATTACH DATABASE в SQLite выглядит следующим образом:
ATTACH DATABASE file_name AS database_name;
Если база данных ещё не создана, приведённая выше команда создаст базу данных. Если база данных уже существует, она связывает имя файла базы данных с логическим именем базы данных 'Alias-Name'.
Открытая база данных и база данных, присоединённая с помощью ATTACH, должны находиться в одной папке.
Пример
Если вы хотите присоединить существующую базу данных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 main is already in use;Другие расширения