Существует ли эквивалентный оператор SELECT для PRAGMA table_info ('mytable') в SQLite? - PullRequest
10 голосов
/ 31 июля 2011

Существует ли эквивалентный оператор SELECT для PRAGMA table_info ('mytable') в SQLite?По сути, я хотел бы получить тот же набор результатов, что и PRAGMA: cid, name, type, notnull, dflt_value и pk.Хотя я знаю о другой альтернативе получения этой информации через функцию C sqlite3_table_column_metadata, я бы предпочел использовать инструкцию SELECT.

1 Ответ

2 голосов
/ 20 июня 2018

Согласно doc

PRAGMA, которые возвращают результаты и не имеют побочных эффектов, можно получить доступ из обычных операторов SELECT в виде табличных функций.Для каждой участвующей PRAGMA соответствующая табличная функция имеет то же имя, что и PRAGMA с префиксом «pragma_» из 7 символов.Аргумент PRAGMA и схема, если таковые имеются, передаются в качестве аргументов табличной функции.

Например, информацию о столбцах в индексе можно прочитать с помощью прагмы index_info следующим образом:

PRAGMA index_info ('idx52');Или то же содержимое можно прочитать с помощью:

SELECT * FROM pragma_index_info ('idx52');

разве это не должно сработать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...