1.
The .tables
, and .schema
"helper" functions don't look into ATTACHed databases: they just query the SQLITE_MASTER
table for the "main" database. Consequently, if you used
ATTACH some_file.db AS my_db;
then you need to do
SELECT name FROM my_db.sqlite_master WHERE type='table';
Note that temporary tables don't show up with .tables
either: you have to list sqlite_temp_master
for that:
SELECT name FROM sqlite_temp_master WHERE type='table';
2.You could attach another database file from the SQLite shell:
sqlite> attach database 'RelDb.sqlite' as RelDb; sqlite> .databases main: /db/UserDb.sqlite RelDb: /db/RelDb_1.sqlite sqlite> .tables RelDb.collectionRelationship contentStatus RelDb.contentRelationship genres RelDb.leagueRelationship recordingFilter RelDb.localizedString syncedContentStatus accountLevelSettings syncedThumbs collectionActivity thumbs
The tables from this 2nd database will be accessible via prefix of the database:
sqlite> select count(*) from RelDb.localizedString; 2442
"SELECT name FROM sqlite_master WHERE type='table'"
works for me –CREATE TEMPORARY TABLE
SQL commands. Their contents are dropped when the current database connection is closed, and they are never saved to a database file. –ATTACH "some_file.db" AS my_db;
It worked! –