我试图用MySQL从MySQL SELECT * FROM TABLE WHERE Item LIKE 'G%'中查询一个表,该表可以查询数据,但SELECT * FROM TABLE WHERE Item LIKE G%不会导致SELECT * FROM TABLE WHERE Item LIKE G%中的错误1064。
query = "SELECT * FROM TABLE WHERE Item LIKE %s%% "
data = 'G'
cur.execute(query%(data))返回错误,但如果
query = "SELECT * FROM TABLE WHERE Item LIKE '%s%%' "使用'%s'而不是%s是正确的吗?浮点数和整数怎么办?如果数据是整数,我是将int(data)还是float(data)放在
发布于 2017-01-04 14:05:01
预先构造类似的表达式并将查询参数化
query = "SELECT * FROM TABLE WHERE Item LIKE %s"
data = 'G'
cur.execute(query, (data + "%", ))发布于 2017-01-04 14:06:05
一种更多的节能型方法可能是使用format。
sql_template = 'SELECT * FROM TABLE WHERE Item LIKE {}'
sql_template.format('G%') # 'SELECT * FROM TABLE WHERE Item LIKE G%'试试看。
https://stackoverflow.com/questions/41465693
复制相似问题