@DarkiDeuce

При запросе в SQL таблицу, хочу имя интересующего столбца передать переменной, как правильно сделать это?

Делаю запрос в таблицу и передаю необходимую переменную которая содержит необходимый столбец.
region = "KGL"

cur.execute("SELECT (?) FROM event", [region])


На выходе получаю содержимое переменной то количество раз, сколько строк в таблице.
То есть:[('KGL',), ('KGL',), ('KGL',), ('KGL',), ('KGL',)]

Почему так происходит не понимаю, объясните, пожалуйста.
  • Вопрос задан
  • 213 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Потому что это преобразовывается в запрос select "KGL" from event, что выводит строку KGL столько раз, сколько строк в таблице. Подставляеть имя полля или таблицы в prepared statement нельзя, это противоречит принципам реляционных баз данных.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы