Я пытаюсь изменить некоторые данные в файле sqlite3 и я мое несуществующее знание в питоне и Google-фу меня в конечном итоге с этим кодом:Почему «c.execute (...)» прерывает цикл?
#!/usr/bin/python
# Filename : hello.py
from sqlite3 import *
conn = connect('database')
c = conn.cursor()
c.execute('select * from table limit 2')
for row in c:
newname = row[1]
newname = newname[:-3]+"hello"
newdata = "UPDATE table SET name = '" + newname + "', originalPath = '' WHERE id = '" + str(row[0]) + "'"
print row
c.execute(newdata)
conn.commit()
c.close()
Он работает как шарм в первом ряду но по какой-то причине он запускает цикл только один раз (изменяется только первая строка в таблице). Когда я удаляю «c.execute (newdata)», он проходит через первые две строки таблицы, как и должно быть. Как мне заставить работать?
Вам не нужны 2 курсора, не так ли? Просто сохраните результат первого вызова вызова и повторите его. – 2010-12-17 15:38:30