#python #sqlite
#python #sqlite
Вопрос:
Я хочу обновить строку. Итак, я выдал команду —
conn = sqlite3.connect("W:\webtracker\database\webtracker.db")
cur = conn.cursor()
cur.execute("SELECT URL FROM WebsiteDetail where screenshot_processed = false")
rows = cur.fetchall()
for row in rows:
cur.execute('''UPDATE WebsiteDetail SET screenshot_processed = true WHERE URL = ?''',(row[0],))
Однако значение не обновляется. В чем проблема?
Ошибка не выдается
строка [0] — это строка
Комментарии:
1. Почему бы просто не:
UPDATE WebsiteDetail SET screenshot_processed = true WHERE screenshot_processed = false
?2. Вы этого не
COMMIT
делаете.
Ответ №1:
Вам необходимо зафиксировать эти изменения. Ваш цикл for должен выглядеть следующим образом:
for row in rows:
cur.execute('''UPDATE WebsiteDetail SET screenshot_processed = true WHERE URL = ?''',(row[0],))
conn.commit()