PyMySQL Join Query为空

时间:2017-01-21 14:01:04

标签: python mysql pymysql

我有一个在普通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它完美无缺,所以我认为这个问题就在某个地方!

任何提示都非常赞赏!

1 个答案:

答案 0 :(得分:1)

您需要检查错误。

这个怎么样?

sql = """
SELECT *
FROM `ls_matches` m LEFT JOIN
     `ls_regions` r
     ON r.id = m.region
WHERE m.crawled = '%s'
"""

Python使您能够拥有跨越多行的字符串。使用该语言的功能。

我还鼓励你使用参数而不是将值填充到字符串中,但这是一个不同的问题。