Встречается на собеседованиях • сегодня

Как выглядит транзакция записи в бд

В Python транзакция записи в БД обычно выглядит как блок операций, которые должны быть выполнены атомарно. Пример с использованием SQLite:

python
import sqlite3

conn = sqlite3.connect('example.db')
cursor = conn.cursor()

try:
    # Начало транзакции (неявное в SQLite)
    cursor.execute("INSERT INTO users VALUES (?, ?)", (1, 'Alice'))
    cursor.execute("UPDATE accounts SET balance = balance - 100 WHERE user_id = 1")
    
    # Фиксация изменений
    conn.commit()
except Exception as e:
    # Откат при ошибке
    conn.rollback()
    print(f"Error: {e}")
finally:
    conn.close()

Ключевые моменты:

  1. Все операции выполняются в блоке try
  2. При успехе вызывается commit()
  3. При ошибке - rollback()
  4. Соединение всегда закрывается в finally

Для других СУБД (PostgreSQL, MySQL) логика аналогична, но могут быть особенности в синтаксисе подключения и управления транзакциями.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы