Я пишу функцию, которая будет извлекать данные из таблицы sqlite на основе параметров, предоставленных пользователем.Пока эта функция
def database_retrieve(db_file, id):
try:
conn = sqlite3.connect(db_file)
with conn:
sql_command = "SELECT * FROM my_table WHERE id = "+id
cur = conn.cursor()
cur.execute(sql_command)
result = cur.fetchall()
return result
except Exception as e:
print(e)
db_file = 'testdb.db'
print(database_retrieve(db_file, 'subject1'))
Это дает мне следующую ошибку
no such column: subject1
None
Когда я добавляю subject1
, которая является записью под столбцом id
в my_table
, непосредственно к команде sql, подобной этой
sql_command = "SELECT * FROM my_table WHERE id = 'subject1'"
, она отлично работает и печатает все данные.
Я новичок в sqlite3.Пожалуйста помоги.Заранее спасибо
Это ссылки, которые я использовал, чтобы зайти так далеко Python sqlite3 строковая переменная в execute
https://www.dummies.com/programming/databases/how-to-retrieve-data-from-specific-rows-in-mysql-databases/