Что такое Транзакция
Python
Senior
Без компании
Что такое Транзакция
Ответы
Транзакция — это последовательность операций, выполняемых как единое целое. Она либо завершается полностью (commit), либо откатывается (rollback) при возникновении ошибки. Основные свойства (ACID):
- **Атомарность** — все операции выполняются или ни одна
- **Согласованность** — данные остаются в валидном состоянии
- **Изолированность** — параллельные транзакции не мешают друг другу
- **Долговечность** — результаты сохраняются после завершения
Пример с SQLite:
```
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
try:
conn.execute("BEGIN TRANSACTION")
cursor.execute("INSERT INTO users VALUES (1, 'Alice')")
cursor.execute("INSERT INTO users VALUES (2, 'Bob')")
conn.commit() # Фиксируем изменения
except:
conn.rollback() # Откатываем при ошибке
finally:
conn.close()
```