Для конкретного примера, возьмите psycopg2
для Postgres (я знаю, mysql.connection
имеет похожий API):
try:
with closing(connection.cursor()) as cursor:
... # run a transaction with cursor, like insert
except IntegrityError as e:
cursor.rollback()
сможет ли курсор откатиться в этом случае или ресурс курсора будет закрыт до того, как откат произойдет в этом случае?