首页 > 解决方案 > Python 脚本中的 SQL 计数错误。我究竟做错了什么?

问题描述

这是我正在运行的 SQL 命令。我不断返回的结果是None,但我确信至少有 1300 条记录符合这些条件。有任何想法吗?

count_unchecked = "SELECT COUNT(website_url) FROM url_list WHERE http_response=200 AND is_website IS NULL"
number_unchecked = mycursor.execute(count_unchecked)
mydb.close()
    print("This program will attempt to identify which of the URLs collected are camped.")
    print("Currently, there are", number_unchecked, "records that have not been checked.")
    urls_to_check = input("How many URLs would you like to check?")

我选择计算 website_url 列,因为每条记录都填充了该列。任何想法为什么它返回None

最终解决方案:这是最终解决方案的代码!我了解到 fetchone 返回一个元组,所以为了让它看起来尽可能干净,我必须引用元组中的第一个元素。

mycursor = mydb.cursor()

count_unchecked = "SELECT COUNT(website_url) FROM url_list WHERE http_response=200 AND is_website IS NULL"
mycursor.execute(count_unchecked)
fetched = mycursor.fetchone()
number_unchecked = fetched[0]
mydb.close()

标签: pythonmysqlsqlselectcount

解决方案


问题是您必须获取结果,因为默认情况下cursor.execute返回None

mycursor.execute(count_unchecked)
row = mycursor.fetchone()
number_unchecked = row[0]

请参阅相关文档


推荐阅读