Python 为什么添加我的Sql更新会中断我的循环?

Python 为什么添加我的Sql更新会中断我的循环?,python,sql,sqlite,Python,Sql,Sqlite,我有以下代码,在没有转义SQL语句的情况下,它可以正常工作-它迭代来自上一个SELECT查询的完整返回集,该查询打印ID、从bingtranslate和text中检测到的语言 for row in c: lang=bingtranslate(row[0]) tweetid = row[1] print tweetid, lang, row[0] #c.execute('UPDATE tweet SET iso_language_code=? WHERE id=?',(lang,

我有以下代码,在没有转义SQL语句的情况下,它可以正常工作-它迭代来自上一个SELECT查询的完整返回集,该查询打印ID、从bingtranslate和text中检测到的语言

for row in c:
  lang=bingtranslate(row[0])
  tweetid = row[1]
  print tweetid, lang, row[0]
  #c.execute('UPDATE tweet SET iso_language_code=? WHERE id=?',(lang, tweetid))
当我取消浏览更新调用时,它会循环一次,然后停止


有什么好处?未报告任何错误。我确信这很简单,但我就是无法破解它…

我认为调用execute会改变c的状态,这样在下一次迭代中循环就会结束。

我认为调用execute会改变c的状态,这样在下一次迭代中循环就会结束。

我不懂Python,所以我尝试解释一下我在c中做了什么。 您正在使用python中DataReader c的同一个对象执行一个命令,因此您有一个重置和奇怪的行为。 在我看来,您不需要复制另一个对象中的行,只需要创建一个新的Command对象empty,并使用它执行从c获取参数的查询。
如果我错了,请纠正我。

我不懂Python,所以我试着解释一下我在C中做什么。 您正在使用python中DataReader c的同一个对象执行一个命令,因此您有一个重置和奇怪的行为。 在我看来,您不需要复制另一个对象中的行,只需要创建一个新的Command对象empty,并使用它执行从c获取参数的查询。
如果我错了,请纠正我。

我不是python高手,但对结果集合c执行查询是否会导致该集合被重置?我不是python高手,但对结果集合c执行查询是否会导致该集合被重置?啊,好的-所以我应该将c复制到另一个列表[]中,然后对其进行迭代?有将近100万行,这会造成伤害,但至少会起作用…@Toby:我不懂Python,所以我试着解释一下我在C语言中做的事情。你正在使用DataReader的同一个对象执行命令,所以你有一个重置,以及奇怪的行为。在我看来,您不需要复制另一个对象中的行,只需要创建一个新的Command对象empty,并使用它执行从c获取参数的查询。如果我错了,请纠正我。啊,好的-那么我应该将c复制到另一个列表[]中,然后对其进行迭代?有将近100万行,这会造成伤害,但至少会起作用…@Toby:我不懂Python,所以我试着解释一下我在C语言中做的事情。你正在使用DataReader的同一个对象执行命令,所以你有一个重置,以及奇怪的行为。在我看来,您不需要复制另一个对象中的行,只需要创建一个新的Command对象empty,并使用它执行从c获取参数的查询。如果我错了,请纠正我。