LINUX.ORG.RU

Использование qmark для имени поля таблицы

 , ,


0

1

Знакомлюсь с sqlite3 в python и не совсем понимаю, предусмотрено ли DB API использование знака вопроса для подстановки имени поля при составлении запроса? В документации подобного использования я не видел, равно как и запрета его.

Пример:

execute("UPDATE books SET name=? WHERE id=?", ("New Name", 1))
- работает
execute("UPDATE books SET ?=? WHERE id=?", ("name", "New Name", 1))
- не работает

Тестовый скрипт полностью: https://gist.github.com/anonymous/763eb2d58e1765235ae5aed5f616f661

★★★

Насколько я знаю, такое вообще нигде не предусмотрено. Только значения можно биндить, имена полей или таблиц нельзя.

TeopeTuK ★★★ ()
execute("UPDATE books SET {}=? WHERE id=?".format("name"), ("New Name", 1))
vvn_black ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.