![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Стандарт SQL определяет большое количество ключевых слов, которые не могут
использоваться в качестве названий таблиц, индексов, колонок, баз данных,
определенных пользователями функций, сопоставлений, виртуальных модулей
или любого другого именованного объекта. Список ключевых слов такой длинный,
что немного людей могут помнить их всех. Для большей части кода SQL ваша
самая безопасная ставка это никогда не должна использовать английское
языковое слово в качестве названия определенного пользователями объекта. Если вы хотите использовать ключевое слово в качестве имени, необходимо
указать его. Есть четыре способа указать ключевые слова в SQLite: Для упругости, когда работает
с историческими SQL-операторами, SQLite будет иногда приспосабливать
правила цитирования выше: Если ключевое слово в одинарных кавычках
('key' или 'glob') используется в контексте, где идентификатор
позволен, но где строковый литерал не позволен, тогда символ, как понимают,
является идентификатором вместо строкового литерала. Если ключевое слово в двойных кавычках
("key" или "glob") используется в контексте, где это не может
быть решено к идентификатору, но где строковый литерал позволен, тогда
символ, как понимают, является строковым литералом вместо идентификатора.
Программистов предостерегают не использовать эти два исключения,
описанных в предыдущих абзацах.
Мы подчеркиваем, что они существуют только, чтобы старые и плохо
сформированные SQL-операторы работали правильно. Будущие версии SQLite могли
бы поднять ошибки вместо того, чтобы принять неправильные запросы,
покрытые исключениями выше. SQLite добавляет новые ключевые слова время от времени, когда он
получает новые особенности. Таким образом, чтобы препятствовать тому, чтобы
ваш код был нарушен будущими улучшениями, необходимо обычно цитировать любой
идентификатор, который является английским языковым словом. Список ниже показывает, что все возможные ключевые слова, используемые
любой сборкой SQLite, независимо от
вариантов времени компиляции. Самые разумные конфигурации используют
больше всего или все эти ключевые слова, но некоторые ключевые слова могут
быть опущены, когда языковые опции SQL отключены. Запросы могут использовать
sqlite3_keyword_count(),
sqlite3_keyword_name() и
sqlite3_keyword_check(),
чтобы определить ключевые слова, признанные SQLite во время выполнения.
Независимо от конфигурации времени компиляции любой идентификатор, который не
находится в следующем списке с 147 элементами, не является ключевым словом
анализата SQL в SQLite:
Choose any three.
'keyword'
Ключевое слово в одинарных кавычках
это строковый литерал. "keyword"
Ключевое слово в двойных кавычках это идентификатор. [keyword]
Ключевое слово в квадратных скобках, является идентификатором.
Это не стандартный SQL. Этот механизм цитирования используется MS Access и
SQL Server и включен в SQLite для совместимости. `keyword`
Ключевое слово в апострофах (ASCII code 96)
является идентификатором. Это не стандартный SQL. Этот механизм цитирования
используется MySQL и включен в SQLite для совместимости.