Встречается на собеседованиях • сегодня
Что такое консистентность транзакции
Консистентность (ACID-принцип) означает, что транзакция переводит базу данных из одного согласованного состояния в другое, сохраняя целостность данных. Даже если транзакция прервется, данные останутся валидными.
Пример с банковским переводом:
python
def transfer_money(sender_id, receiver_id, amount):
try:
# Начало транзакции
with connection.cursor() as cursor:
# Проверка баланса отправителя
cursor.execute("SELECT balance FROM accounts WHERE id = %s", (sender_id,))
sender_balance = cursor.fetchone()[0]
if sender_balance < amount:
raise ValueError("Недостаточно средств")
# Списание
cursor.execute("UPDATE accounts SET balance = balance - %s WHERE id = %s",
(amount, sender_id))
# Зачисление
cursor.execute("UPDATE accounts SET balance = balance + %s WHERE id = %s",
(amount, receiver_id))
connection.commit()
except Exception as e:
connection.rollback()
print(f"Ошибка: {e}")Даже при ошибке балансы останутся корректными - либо изменения применятся полностью, либо откатятся.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы