gpt4 book ai didi

python sqlite3 for循环更新

转载 作者:行者123 更新时间:2023-11-28 20:51:15 25 4
gpt4 key购买 nike

import sqlite3    
conn = sqlite3.connect('sample.db')
cursor = conn.cursor()
data = cursor.execute('''SELECT * From Table''')

for i in data:
title = i[0]
status = i[1]
cursor.execute('''UPDATED Table SET status=? WHERE title=?''', (status, title))

cursor.close()
conn.commit()

我正在尝试通过多次迭代进行更新。但是,一旦数据库进行第一次更新,脚本就会跳出循环。如何解决这个问题?谢谢!

最佳答案

在循环之前使用 data = data.fetchall()。否则,当您尝试遍历该结果集时,您最终会在循环内回收游标(重置其结果集)。

使用 .fetchall() 返回结果列表,以便您在重新使用游标之前将它们存储在本地。

或者,如果您不想在本地缓存第一个查询的结果,则创建一个单独的游标以用于您的更新语句。

关于python sqlite3 for循环更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10404988/

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