У меня есть соединение с базой данных, установленное в python с использованием torndb.
У меня возникают проблемы с запросом, используя torndb.query(query, *parameters, **kwargs)
query = """
SELECT *
FROM students
WHERE name LIKE "%s"
AND score LIKE "%s"
"""
parameters = ["Jack", "A"]
students = db.query(query, parameters)
Хотя этот запрос ничего не возвращает, даже если в базе данных mySQL есть совпадения при непосредственном запуске необработанного запроса ->
SELECT *
FROM students
WHERE name LIKE "Jack"
AND score LIKE "A
Я хотел бы выяснить, как заставить этот запрос работать с parameters
arg в функции torndb.query()
, я знаю, что вы можете сделать это, форматируя фактическую строку запроса, но это не моя цель.
query()
принимает один аргумент для каждого %s
в строке запроса:
db.query(query, "Jack", "A")
Вы передаете их как единый объект списка. Чтобы Python расширил список на отдельные параметры, поставьте перед ним звездочку:
db.query(query, *parameters)