Как проверить в SQLite, существует ли таблица?

Чтобы удалить расширение .html из ваших URL-адресов, вы можете использовать следующий код в файле root / htaccess:

RewriteEngine on


RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]

ПРИМЕЧАНИЕ. Если вы хотите удалить любое другое расширение, например, чтобы удалить .php, просто замените html всюду php в коде выше.

837
задан Peter Mortensen 3 March 2017 в 16:57
поделиться

4 ответа

Я пропустил эту запись в FAQ.

В любом случае, для справки в будущем, полный запрос выглядит так:

SELECT name FROM sqlite_master WHERE type='table' AND name='{table_name}';

Где {table_name} - имя таблицы для проверьте.

Раздел документации для справки: Формат файла базы данных. 2.6. Хранение схемы базы данных SQL

  • Будет возвращен список таблиц с указанным именем; то есть курсор будет иметь счетчик 0 (не существует) или счетчик 1 (существует)
959
ответ дан 22 November 2019 в 21:09
поделиться

функция C++ проверяет дб и все приложенные базы данных для существования таблицы и (дополнительно) столбца.

bool exists(sqlite3 *db, string tbl, string col="*")
{
    sqlite3_stmt *stmt;
    bool b = sqlite3_prepare_v2(db, ("select "+col+" from "+tbl).c_str(),
    -1, &stmt, 0) == SQLITE_OK;
    sqlite3_finalize(stmt);
    return b;
}
1
ответ дан 22 November 2019 в 21:09
поделиться

См. это :

SELECT name FROM sqlite_master
WHERE type='table'
ORDER BY name;
31
ответ дан 22 November 2019 в 21:09
поделиться

Вы можете попробовать:

SELECT name FROM sqlite_master WHERE name='table_name'
41
ответ дан 22 November 2019 в 21:09
поделиться
Другие вопросы по тегам:

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