How To Rollback the Current Transaction

Q

How To Rollback the Current Transaction? - MySQL FAQs - Transaction Management: Commit or Rollback

✍: FYIcenter.com

A

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.

2007-05-11, 5291👍, 0💬