我有一个在普通MySQL中完美运行的查询:
SELECT * FROM `ls_matches` AS m
LEFT JOIN `ls_regions` AS r
ON r.id = m.region
WHERE
m.crawled = FALSE
我正在使用PyMySQL lib进行查询,但是"相同"查询为空:
sql = "SELECT * FROM `ls_matches` AS m"\
"LEFT JOIN `ls_regions` AS r"\
"ON r.id = m.region"\
"WHERE"\
"m.crawled = %s"
cursor.execute(sql, (False,))
results = cursor.fetchall()
pprint(results)
关于为什么这是空的任何想法? W / out JOIN
它完美无缺,所以我认为这个问题就在某个地方!
任何提示都非常赞赏!
答案 0 :(得分:1)
您需要检查错误。
这个怎么样?
sql = """
SELECT *
FROM `ls_matches` m LEFT JOIN
`ls_regions` r
ON r.id = m.region
WHERE m.crawled = '%s'
"""
Python使您能够拥有跨越多行的字符串。使用该语言的功能。
我还鼓励你使用参数而不是将值填充到字符串中,但这是一个不同的问题。