Back to questions
Junior — Middle
64
Как осуществляется управление операциями в рамках одной транзакции в базе данных?
Companies where asked
ИП Калюков Н.С.
Answer from AI
sobes.tech AI
Управление операциями в рамках одной транзакции в базе данных обычно осуществляется с помощью механизма транзакций, который гарантирует атомарность, согласованность, изолированность и долговечность (ACID). В Python при работе с базой данных через библиотеки, например, sqlite3 или psycopg2, транзакция начинается автоматически или явно, и изменения фиксируются командой commit или отменяются rollback.
Пример с использованием sqlite3:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
try:
cursor.execute("INSERT INTO users (name) VALUES ('Alice')")
cursor.execute("INSERT INTO accounts (user_id, balance) VALUES (last_insert_rowid(), 1000)")
conn.commit() # фиксируем изменения
except Exception as e:
conn.rollback() # откатываем изменения при ошибке
print(f"Ошибка: {e}")
finally:
conn.close()
Таким образом, все операции внутри блока либо применяются вместе, либо не применяются вовсе.