Back to questions
Junior — Middle
68
Имели ли вы практический опыт управления транзакциями при работе с базами данных?
Answer from AI
sobes.tech AI
Да, у меня есть опыт управления транзакциями при работе с базами данных в Python. Обычно я использую библиотеки, такие как sqlite3, psycopg2 или ORM, например SQLAlchemy, которые поддерживают транзакции.
Транзакции позволяют гарантировать целостность данных: все операции внутри транзакции либо выполняются полностью, либо откатываются при ошибке.
Пример с использованием sqlite3:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
try:
conn.execute('BEGIN')
cursor.execute("INSERT INTO users (name) VALUES (?)", ('Alice',))
cursor.execute("INSERT INTO accounts (user_id, balance) VALUES (?, ?)" , (cursor.lastrowid, 100))
conn.commit()
except Exception as e:
conn.rollback()
print(f"Ошибка: {e}")
finally:
conn.close()
В этом примере, если одна из операций вставки не выполнится, все изменения будут отменены.