gpt4 book ai didi

Python - SQLite SELECT 查询只能使用一次?

转载 作者:太空宇宙 更新时间:2023-11-04 07:46:19 26 4
gpt4 key购买 nike

我有一个如下所示的 sqlite 查询:

db_rows = db_cursor.execute(
"SELECT * FROM my_table"
)

# check1
for row in db_rows:
print(row)

# check2
for row in db_rows:
print(row)

发生的情况是第一个 for 循环输出所有行,而第二个 for 循环根本不输出任何我觉得很奇怪的东西。这是为什么?有没有办法让我多次重复使用 db_rows?也许这是一个错误?

我需要这个因为我有一些嵌套代码(for's 和 if's)应该重新使用 db_rows 并且相信重新使用应该已经在内存中的 db_rows 应该更快而不是再次执行查询并且对内循环的每次迭代再次进行一次。

谢谢。

最佳答案

... it should be faster to just re-use db_rows that should be already in memory ...

除了它不在内存中;它一次从数据库中提取一行。如果要将结果拉入内存,请转换为列表。

row_list = list(db_rows)

for row in row_list:
...

关于Python - SQLite SELECT 查询只能使用一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6856199/

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