将参数传递给torndb.query()

时间:2018-08-10 18:19:46

标签: python mysql formatting tornado

我使用torndb在python中建立了数据库连接。

我在尝试使用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函数中的torndb.query() arg来使此查询工作,我知道您可以通过格式化实际的查询字符串来做到这一点,但这不是我的目标

1 个答案:

答案 0 :(得分:0)

query()对查询字符串中的每个%s接受一个参数:

db.query(query, "Jack", "A")

您要将它们作为单个列表对象传递。要让Python将列表扩展为单独的参数,请在其前面加上星号:

db.query(query, *parameters)