gpt4 book ai didi

python - 当表中有记录时,Python 脚本中的 SQL 查询返回 None

转载 作者:行者123 更新时间:2023-11-29 21:42:27 24 4
gpt4 key购买 nike

我正在尝试编写一个简单的 Python 脚本,该脚本从 API 获取数据,将其存储在 MySQL 数据库中,并对这些数据执行一些计算。我尝试从刚刚插入一些数据的表中获取所有数据,但该查询始终返回 None

不起作用的部分:

import MySQLdb
db = MySQLdb.connect("localhost", "stijn", "password", "GW2")
curs = db.cursor()
curs.execute("select gw2_id, naam from PrijzenMats")
for record in curs.fetchall():
curs2 = db.cursor()
curs2.execute("insert into MaterialPrijzenLogs(mat,prijs,tijd) values(%s, %s, %s)", (record[1], prijs, tijd))
db.commit()
curs2.execute("select prijs from MaterialPrijzenLogs")
top10 = len(curs2.fetchall())/10
print(str(len(curs2.fetchall())))

即使我在运行脚本之前填充了表格,最后的打印仍然给出 0

Full code

最佳答案

我解决了这个问题。显然当你打电话fetchall()时它不仅像 Java 中的普通 getter 那样从游标中获取数据,而且还从 cursor 中删除数据。 。在我的代码中,我调用 fetchall()首先初始化一个变量,然后我尝试打印 curs2.fetchall() 的长度,已成为 0在那时候。通过添加类似myList = curs2.fetchall()之类的内容可以轻松解决这个问题。直接在curs2.execute("select prijs from MaterialPrijzenLogs")之后并使用 myList代码其余部分中的变量而不是 curs2.fetchall() 。我没有包含 top10 的声明我原来问题的代码示例中的变量,因为我认为它与问题无关。我编辑了这个问题,以便 future 的读者可以轻松理解这个问题。

关于python - 当表中有记录时,Python 脚本中的 SQL 查询返回 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34387012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com