Как через переменную указать столбец таблицы?

Я работаю с sqlite3 в Python. У меня задача - через переменную указать курсору какой выбрать столбец таблицы.

Я решил попробовать:

db.execute("SELECT (?) FROM my_db", [a]).fetchall() 

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

Как мне правильно реализовать мою задачу?


Ответы (1 шт):

Автор решения: CrazyElf

Для столбцов параметрическая подстановка невозможна. Если вы доверяете своим переменным, то можно просто подставить значение обычным образом, например через f-строку:

db.execute(f"SELECT {a} FROM my_db").fetchall() 

Это небезопасный метод, но для столбцов, повторюсь, нормальные безопасные методы не работают.

→ Ссылка