What Happens to the Current Transaction If the Session Is Ended

Q

What Happens to the Current Transaction If the Session Is Ended? - MySQL FAQs - Transaction Management: Commit or Rollback

✍: FYIcenter.com

A

If a session is ended, the current transaction in that session will be rolled back and ended. All the database changes made in the current transaction will be removed.

This is called an implicit rollback when session is ended.

The following tutorial exercise shows you that the "quit" command forces the current transaction to be rolled back and ended. When the session is reconnected, you will not see the changes made by the UPDATE statements in the previous session:

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

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

mysql> UPDATE fyi_links SET url = 'FYICENTER.COM'
   WHERE id = 101;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> UPDATE fyi_links SET url = 'CENTERFYI.COM'
   WHERE id = 110;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> quit;
Bye

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

mysql> SELECT * FROM fyi_links;
+-----+---------------+-------+--------+--------------------
| id  | url           | notes | counts | created           
+-----+---------------+-------+--------+--------------------
| 101 | fyicenter.com | Good  |    999 | 2006-07-01 20:34:10
| 110 | centerfyi.com | Wrong |      0 | 2006-07-01 20:34:12
| 112 | oracle.com    | NULL  |   NULL | 2006-07-01 20:41:12
| 113 | mysql.com     | NULL  |   NULL | 2006-07-01 20:41:21
+-----+---------------+-------+--------+--------------------
4 rows in set (0.01 sec)

2007-05-11, 4409👍, 0💬