Как мне обойтись без возможности разбирать имя таблицы в запрос Python SQLite? - PullRequest
1 голос
/ 28 октября 2010

У меня есть программа на python3, в которой я использую базу данных sqlite с несколькими таблицами. Я хочу создать модуль селектора, который позволит мне выбирать, из какой таблицы извлекать данные.

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

c.execute("SELECT * FROM ? ", DB)

Есть идеи?

Ответы [ 3 ]

1 голос
/ 28 октября 2010

Я не знаю, является ли это Python3, но, кажется, проще всего это сделать:

c.execute("SELECT * FROM %s "% tablename)
1 голос
/ 28 октября 2010

правый.Вы не можете использовать подстановку параметров для указания таблицы.Таким образом, вместо этого вы должны сделать строковые манипуляции:

c.execute("SELECT * FROM {t} ".format(t=tablename))
0 голосов
/ 29 октября 2010

Цитата * Правильно. Вы не можете использовать параметр Подстановка для указания таблицы. Так вместо этого вы должны сделать строку манипулирование: c.execute ("SELECT * FROM {t} ".format (t = имя таблицы)) * Blockquote

Спасибо, unutbu, это как раз то, что мне нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...