Transacciones ACID
Las transacciones agrupan múltiples cambios en una sola unidad de trabajo. Si algo falla, puedes hacer un rollback para mantener los datos consistentes.
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
Niveles de aislamiento
- • Read Committed (predeterminado)
- • Repeatable Read
- • Serializable (el más fuerte)
Bloqueos de filas
SELECT * FROM accounts
WHERE id = 1
FOR UPDATE;
Los bloqueos evitan que otras transacciones cambien las mismas filas mientras las actualizas.