# ट्रांज़ैक्शन — माईएसक्यूएल

Source: https://www.geekswithgeeks.com/hi/mysql/sql-transactions

> स्टेटमेंट को समूहित करें ताकि वे साथ में सफल या असफल हों।

## संक्षेप में ACID

**ACID** — Atomicity, Consistency, Isolation, Durability — वे गारंटी बताता है जो ट्रांज़ैक्शन देता है।

## BEGIN, COMMIT, ROLLBACK

संबंधित स्टेटमेंट को `START TRANSACTION` और `COMMIT` के बीच रखें; कुछ ग़लत होने पर `ROLLBACK` शुरुआत से सब कुछ पूर्ववत कर देता है।

```sql
START TRANSACTION;
UPDATE accounts SET balance = balance - 500 WHERE id = 1;
UPDATE accounts SET balance = balance + 500 WHERE id = 2;
COMMIT;
```

## यह क्यों मायने रखता है

ट्रांज़ैक्शन के बिना, ऊपर के दो `UPDATE` के बीच क्रैश होने पर पैसा **एक खाते से कट जाएगा पर दूसरे में कभी नहीं जुड़ेगा**।
