Что такое Atomicity в ACID
Python
Middle
Без компании
Что такое Atomicity в ACID
Ответы
Atomicity гарантирует, что транзакция выполняется как единое целое — либо полностью, либо не выполняется вообще. Если хотя бы одна операция в транзакции завершится неудачно, вся транзакция откатывается, и БД возвращается в исходное состояние.
**Пример с кодом (SQLite):**
```
import sqlite3
conn = sqlite3.connect("example.db")
cursor = conn.cursor()
try:
cursor.execute("BEGIN TRANSACTION")
cursor.execute("UPDATE accounts SET balance = balance - 100 WHERE user_id = 1")
cursor.execute("UPDATE accounts SET balance = balance + 100 WHERE user_id = 2")
conn.commit() # Фиксация изменений
except Exception as e:
conn.rollback() # Откат при ошибке
print("Transaction failed:", e)
finally:
conn.close()
```
Если второй `UPDATE` завершится ошибкой, первый тоже не применится.