Python SQLITE не обновляет значения

#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()