все Python 3sqlite3функция
sqlite3.complete_statement()
служебные функции
Проверяет, похожа ли строка на законченную SQL-команду: есть точка с запятой в конце и нет незакрытых кавычек. Синтаксис не проверяет.
Синтаксис
sqlite3.complete_statement(statement)
True не значит «запрос правильный»: complete_statement('мусор;') тоже True. Точка с запятой внутри строкового литерала не считается: "SELECT 'a;" — False. Нужна для интерактивного ввода — понять, дочитать ли ещё строку перед execute(), как это делает консоль python -m sqlite3.
Примеры
import sqlite3
print(sqlite3.complete_statement('SELECT 1')) # → False
print(sqlite3.complete_statement('SELECT 1;')) # → True
print(sqlite3.complete_statement('мусор;')) # → True — синтаксис не проверяется
print(sqlite3.complete_statement("SELECT 'a;")) # → False — ; внутри кавычек
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности