Как перечислить все таблицы или только таблицы данной базы данных - PullRequest
0 голосов
/ 08 мая 2009

Вы можете получить список баз данных, используя

PRAGMA database_list

или список таблиц в "основной" базе данных, используя

select name from sqlite_master where type='table'

но, как я только что написал, он возвращает только таблицы из "основной" БД, и я не вижу способа узнать, какие таблицы находятся в других БД.

Так как же перечислить таблицы в других БД (которые были прикреплены позже)?

Спасибо, --DD

PS: я могу придумать обходной путь создания отдельного sqlite * для каждой БД, перечисленной в прагме database_list, и они делают «выбор имени из sqlite_master, где type = 'table'» N раз для них (так как каждый один сейчас является «главным»), но это звучит как нечто, что должно быть возможно без обращения к обходному пути, нет ???

1 Ответ

0 голосов
/ 08 мая 2009

Ах, ах, нашел ответ, посмотрев на ответ для Как открыть файл базы данных в памяти в sqlite3

Так как есть sqlite_master на DB, все, что мне нужно сделать, это префикс sqlite_master с "DB_name". где DB_name соответствует столбцу имени, возвращенному PRAGMA database_list.

...