[英]Python script hangs on cursor.execute()
我是 Python 新手
我正在调试一个现有的脚本,如下所示,
print "Table name: %s " %table_name_r
print "Between: %s " % between
cursor = db.cursor()
print "Total Rows: %s " % cursor.rowcount
cursor.execute("""select contactid,li_url_clean,li_company,complink from """+ table_name_r +""" where li_company is not null and id_auto between """+between)
print "Execution complete"
我得到以下输出,
Table name: li_records
Between: 4 and 6
Total Rows: -1
我在这里有2个问题,
1.)(已解决)我的表li_records
有 91 行,那么为什么我将行数设为 -1?
2.) 为什么我的脚本挂在cursor.execute
?
问题 1 已解决:就像你们中的许多人指出我得到“-1”的原因是因为我还没有执行查询
任何帮助表示赞赏。 提前致谢。
您尚未执行查询,因此数据库不知道结果中的行数。 另请参阅rowcount 上的文档。
它指出:
根据 Python DB API 规范的要求,rowcount 属性“是 -1,以防没有在游标上执行 executeXX() [..]
至于为什么你的execute
方法挂起,我不知道。 您能否像这样在方法调用之外构造查询字符串:
query = "select contactid,li_url_clean,li_company,complink from " + table_name_r + " where li_company is not null and id_auto between " + between
cursor.execute(query)
如果你这样做,你也可以在执行前print
它。 这样您就可以更轻松地检查查询是否有任何问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.