Python Glossary English

все 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Сообщить о неточности