{"id":4013,"date":"2025-06-07T09:43:29","date_gmt":"2025-06-07T09:43:29","guid":{"rendered":"https:\/\/w3buddy.com\/?post_type=cposts&#038;p=4013"},"modified":"2025-06-07T09:43:30","modified_gmt":"2025-06-07T09:43:30","slug":"sql-transactions-begin-commit-rollback","status":"publish","type":"cposts","link":"https:\/\/w3buddy.com\/blog\/notes\/sql\/sql-transactions-begin-commit-rollback\/","title":{"rendered":"SQL Transactions (BEGIN, COMMIT, ROLLBACK)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A <strong>transaction<\/strong> is a sequence of SQL operations treated as a single unit. Transactions ensure data integrity \u2014 either all operations succeed, or none do.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udd39 <strong>Key Concepts<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Transactions maintain <strong>ACID<\/strong> properties: Atomicity, Consistency, Isolation, Durability.<\/li>\n\n\n\n<li>Use transactions to group related changes so your database stays consistent.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udd39 <strong>Basic Commands<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>BEGIN;             -- Start a transaction\n-- Your SQL operations here\nCOMMIT;            -- Save all changes permanently\nROLLBACK;          -- Undo all changes since BEGIN\n<\/code><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udd39 <strong>Example<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>BEGIN;\nUPDATE accounts SET balance = balance - 100 WHERE account_id = 1;\nUPDATE accounts SET balance = balance + 100 WHERE account_id = 2;\nCOMMIT;<\/code><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If any step fails, use <code>ROLLBACK;<\/code> to undo changes and keep data consistent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udd39 <strong>Use Cases<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Transferring money between bank accounts<\/li>\n\n\n\n<li>Batch inserts\/updates that must succeed together<\/li>\n\n\n\n<li>Complex business logic requiring multiple updates<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udd39 <strong>Important Notes<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If a transaction isn\u2019t explicitly committed, it may auto-rollback depending on DBMS.<\/li>\n\n\n\n<li>Long transactions can block resources \u2014 keep them short.<\/li>\n\n\n\n<li>Use <strong>SAVEPOINT<\/strong> to create intermediate rollback points within a transaction (supported in many DBMS).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83e\udde0 <strong>Quick Recap<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table has-small-font-size\"><table><thead><tr><th>Point<\/th><th>Explanation<\/th><\/tr><\/thead><tbody><tr><td>BEGIN<\/td><td>Starts a transaction<\/td><\/tr><tr><td>COMMIT<\/td><td>Saves changes permanently<\/td><\/tr><tr><td>ROLLBACK<\/td><td>Undoes changes since BEGIN<\/td><\/tr><tr><td>Purpose<\/td><td>Ensures data integrity &amp; consistency<\/td><\/tr><tr><td>Best Practice<\/td><td>Keep transactions short<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udca1 Transactions protect your data from partial updates and keep your database reliable.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A transaction is a sequence of SQL operations treated as a single unit. Transactions ensure data integrity \u2014 either all operations succeed, or none do. \ud83d\udd39 Key Concepts \ud83d\udd39 Basic Commands \ud83d\udd39 Example If any step fails, use ROLLBACK; to undo changes and keep data consistent. \ud83d\udd39 Use Cases \ud83d\udd39 Important Notes \ud83e\udde0 Quick Recap [&hellip;]<\/p>\n","protected":false},"template":"","meta":{"googlesitekit_rrm_CAowu461DA:productID":""},"categories":[952,979],"class_list":["post-4013","cposts","type-cposts","status-publish","hentry","category-notes","category-sql"],"_links":{"self":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/cposts\/4013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/cposts"}],"about":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/types\/cposts"}],"wp:attachment":[{"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/media?parent=4013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/w3buddy.com\/blog\/wp-json\/wp\/v2\/categories?post=4013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}