Skip to main content
Practice

ACID Transactions

In SQL databases, a transaction is a sequence of operations that should be treated as a single unit.

To maintain data reliability and integrity, every transaction follows four core principles, collectively known as ACID.


What does ACID stand for?

ACID stands for the four core principles:

1. Atomicity

  • All operations in a transaction succeed or fail together.
  • If one part fails, the entire transaction is rolled back.

2. Consistency

  • The database transitions from one valid state to another.
  • It enforces all data rules and constraints, even if multiple changes happen at once.

3. Isolation

  • Transactions don't interfere with each other.
  • Until a transaction is complete, its intermediate steps are invisible to others.

4. Durability

  • Once a transaction is committed, the changes are permanent.
  • They won't be lost even if the system crashes immediately afterward.

Example: Transfer money

Imagine users can transfer money to each other.

accounts

user_idnamebalance
1Alice500
2Bob300

To move 100 coins from Alice to Bob safely, you can use a transaction as follows:

ACID-compliant transfer
BEGIN;

UPDATE accounts
SET balance = balance - 100
WHERE name = 'Alice';

UPDATE accounts
SET balance = balance + 100
WHERE name = 'Bob';

COMMIT;
  • If both updates succeed → changes are saved.
  • If either fails → you can roll back with ROLLBACK.

Why it matters

Without ACID guarantees, you risk:

  • Users losing money during a failed transfer
  • Inconsistent or corrupted data
  • Race conditions when multiple users interact with the same data

ACID ensures your application behaves safely and predictably.

Want to learn more?

Join CodeFriends Plus membership or enroll in a course to start your journey.