Сообщить об ошибке.

Управление транзакциями в модуле sqlite3 Python.

Включить режим autocommit в модуле sqlite3.

Базовая библиотека sqlite3 по умолчанию работает в режиме автоматической фиксации, а модуль sqlite3 в Python по умолчанию - нет.
Режим autocommit означает, что операторы, которые изменяют базу данных, вступают в силу немедленно. Оператор BEGIN или SAVEPOINT отключает режим автоматической фиксации autocommit, а команда COMMIT, ROLLBACK или RELEASE, которая завершает внешнюю транзакцию, снова включает режим автоматической фиксации.
Модуль sqlite3 в Python по умолчанию выдает оператор BEGIN неявно перед оператором языка DML - модификации данных, т. е. INSERT/UPDATE/DELETE/REPLACE.
Описанное поведение можно контролировать, какой тип операторов BEGIN sqlite3 выполняется неявно, с помощью параметра isolation_level в вызове функции sqlite3.connect() или с помощью свойства соединений connection.isolation_level. Если не указать isolation_level, то будет используется простой BEGIN, что эквивалентно указанию isolation_level=DEFERRED. Другие возможные значения являются IMMEDIATE и EXCLUSIVE.
Можно отключить неявное управление транзакциями в модуле sqlite3, установив значение уровня изоляции на None. Это заставит базовую библиотеку sqlite3 работать в режиме автоматической фиксации. После этих действий можно полностью контролировать состояние транзакции, явно выполняя в своем SQL коде операторы BEGIN, ROLLBACK, SAVEPOINT и RELEASE.

Примеры использования:

Проще говоря, что бы включить autocommit необходимо соединяться с базой данных SQLite3 следующим образом.
import sqlite3

connect = sqlite3.connect(path_db)
# эта строка включает autocommit
connect.isolation_level = None

with connect:
    try:
        cur = connect.execute('INSERT/UPDATE ....')
    except sqlite3.Error as e:
        print(e)

    print(cur.lastrowid)