SQLite, если столбец существует

Я задавался вопросом, существует ли хорошее, ЕСЛИ НЕ СУЩЕСТВУЕТ для проверки столбцов и индексов в SQLite, или я должен возвратить всю схему базы данных и проверить против этого?

21
задан John Saunders 26 March 2010 в 03:09
поделиться

2 ответа

Да, в sqlite поддерживается следующий синтаксис: СОЗДАТЬ ИНДЕКС, ЕСЛИ НЕ СУЩЕСТВУЕТ ...

См. Здесь

Чтобы проверить наличие столбец, вы можете просто попробовать сделать что-то вроде SELECT col from TABLE . Если он не возвращает ошибку, ваша таблица содержит столбец .

8
ответ дан 29 November 2019 в 20:28
поделиться

есть таблица системного каталога с именем sqlite_master ], который можно использовать для проверки имен индексов (или других):

SELECT name FROM sqlite_master WHERE type='index' ORDER BY name;

Вы можете использовать прагму , чтобы получить индексированные столбцы:

PRAGMA index_info(index-name);

И этот, чтобы получить имена столбцов для таблицы:

PRAGMA table_info(table-name);
36
ответ дан 29 November 2019 в 20:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: