Home >> FAQs/Tutorials >> MySQL Tutorials

MySQL Tutorial - Rollback the Current Transaction

By: FYIcenter.com

(Continued from previous topic...)

How To Rollback the Current Transaction?

If you have used some DML statements updated some data objects, you find a problem with those updates, and you don't want those updates to be permanently recorded in the database, you can use the ROLLBACK command. It will remove all the database changes made in the current transaction and end the current transaction. The following tutorial exercise shows you how to use ROLLBACK commands:

>\mysql\bin\mysql -u dev -piyf fyi

mysql> START TRANSACTION;
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO fyi_links (url, id)
   VALUES ('google.com', 102);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO fyi_links (url, id)
   VALUES ('myspace.com', 103);
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM fyi_links;
+-----+---------------+-------+--------+--------------------
| id  | url           | notes | counts | created           
+-----+---------------+-------+--------+--------------------
| 101 | fyicenter.com | NULL  |   NULL | 2006-07-01 20:34:10
| 102 | google.com    | NULL  |   NULL | 2006-07-01 20:37:06
| 103 | myspace.com   | NULL  |   NULL | 2006-07-01 20:37:17
| 110 | centerfyi.com | NULL  |   NULL | 2006-07-01 20:34:12
+-----+---------------+-------+--------+--------------------
4 rows in set (0.00 sec)

mysql> ROLLBACK;
Query OK, 0 rows affected (0.08 sec)

mysql> SELECT * FROM fyi_links;
+-----+---------------+-------+--------+--------------------
| id  | url           | notes | counts | created           
+-----+---------------+-------+--------+--------------------
| 101 | fyicenter.com | NULL  |   NULL | 2006-07-01 20:27:49
| 110 | centerfyi.com | NULL  |   NULL | 2006-07-01 20:28:10
+-----+---------------+-------+--------+--------------------
2 rows in set (0.07 sec)

As you can see, the two new records inserted into the table were removed by the ROLLBACK command.

(Continued on next topic...)

  1. What Is a Transaction?
  2. How To Start a New Transaction?
  3. How To End the Current Transaction?
  4. How To Create a Table for Transaction Testing?
  5. How To Switch between Autocommit-On and Autocommit-Off Modes?
  6. How To Find Out the Current Transaction Mode?
  7. How To Start a New Transaction Explicitly?
  8. How To Commit the Current Transaction?
  9. How To Rollback the Current Transaction?
  10. What Happens to the Current Transaction If a START TRANSACTION Is Executed?
  11. What Happens to the Current Transaction If a DDL Statement Is Executed?
  12. What Happens to the Current Transaction If the Session Is Ended?
  13. What Happens to the Current Transaction If the Session Is Killed?
  14. How Does MySQL Handle Read Consistency?
  15. What Are Transaction Isolation Levels?
  16. How To View and Change the Current Transaction Isolation Level?
  17. What Is a Data Lock?
  18. How To Experiment Data Locks?
  19. How Long a Transaction Will Wait for a Data Lock?
  20. What Happens to Your Transactions When ERROR 1205 Occurred?
  21. What Is a Dead Lock?
  22. How To Experiment Dead Locks?
  23. What Happens to Your Transactions When ERROR 1213 Occurred?
  24. What Are Impacts on Applications from Locks, Timeouts, and DeadLocks?

MySQL Tutorials:

More...


Other Tutorials/FAQs:

More...


Related Resources:

More...


Selected Jobs:

More...