Python/MySQL 连接器 : Some queries hang based on the input

标签 python mysql mysql-connector-python

所以我正在使用 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 上不起作用时,循环中的计数器只是在中间卡住并停止执行任何操作。对于第三条和第五条语句,循环最终退出并开始打印循环后的内容。任何人都可以帮助我确定调试代码的可能错误或不同方法吗?感谢您的帮助!

最佳答案

尽量在查询中使用斜杠。

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/MySQL 连接器 : Some queries hang based on the input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116396/

相关文章:

python - 保护连续 string.join() 和 string.split() 上的逗号

python - "Too many indexers"与 DataFrame.loc

mysql - 我如何在 MySQL 嵌套选择查询中 "reset"变量(SUM(x) 作为变量)

python - 如何从数据库中获取所有数据并显示在表格中

python - 无法使用Scrapy项作为MySQL.execute : "Wrong number of arguments during string formatting"的数据

python - MySQL 连接器无法处理参数

Python mysql.connector 内部错误 : Unread result found when close cursor

python - 如何分发独立的 python 应用程序?

python - python元组列表中每个元素的总和

mysql - MySQL 有基于时间的触发器吗?