Я пытаюсь изменить некоторые данные в файле sqlite3, и мои несуществующие знания в области python и google-fu заставили меня в конечном итоге получить этот код:
#!/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)», он проходит по первым двум строкам таблицы, как и должно быть.Как мне заставить это работать?