Sobes.tech
Junior — Middle
93

¿Cómo se gestiona las operaciones dentro de una sola transacción en una base de datos?

Empresas donde se preguntó
ИП Калюков Н.С.

Respuesta de la IA

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

Таким образом, все операции внутри блока либо применяются вместе, либо не применяются вовсе.