因此,我使用的是Python MySQL连接器,我试图编写一些代码来选择一些行,具体取决于行是否符合我给出的条件它。这个表有化学品的列和县在加利福尼亚州一列(其中包括)Python/MySQL连接器:一些查询挂起基于输入
所有下面的代码行完全通过MySQL控制台运行:
SELECT wellName, approximateLatitude, approximateLongitude, chemical, result, units, date, county FROM chemicaldata WHERE (county='YOLO') AND (chemical='CR6')
SELECT wellName, approximateLatitude, approximateLongitude, chemical, result, units, date, county FROM chemicaldata WHERE (chemical='CR6')
SELECT wellName, approximateLatitude, approximateLongitude, chemical, result, units, date, county FROM chemicaldata WHERE (chemical='CR')
SELECT wellName, approximateLatitude, approximateLongitude, chemical, result, units, date, county FROM chemicaldata WHERE (county='YOLO') AND (chemical='CR')
SELECT wellName, approximateLatitude, approximateLongitude, chemical, result, units, date, county FROM chemicaldata WHERE (county='YOLO') AND (chemical='NO3')
对于上述每个语句,我把引号中的语句并通过python执行。然后我试着运行一个简单的脚本。例如
query = "SELECT wellName, approximateLatitude, approximateLongitude, chemical, result, units, date, county FROM chemicaldata WHERE (county='YOLO') AND (chemical='CR')"
cursor.execute(query)
i = 0
for (wellName,approximateLatitude,approximateLongitude,chemical,result,units,date,county) in cursor:
print i
i = i+1
你们可以猜测Python脚本处理上述5个语句中的哪一个?只有第三和第五......对我来说没有意义,因为它们几乎是一样的东西,接受我改变了化学物质,并且它们都在MySQL命令行上完美地工作。更具体地说,当我说这个命令对Python不起作用时,我在循环中的计数器就会在中间冻结并停止执行任何操作。对于第三和第五条语句,循环最终会退出并在循环之后开始打印出来。任何人都可以帮助我确定什么可能是错误的或不同的方式来调试我的代码?我感谢帮助!
您可能需要在'cursor.execute(query)'行之后添加类似'results = cursor.fetchall()'的东西。 – 101
不幸的是,同样的事情发生。冻结相同的陈述。 –
_And_在没有的情况下,改变你的循环来遍历'results',而不是'cursor'。 – 101