Transaction Roll Back when Session Ended in MySQL

Q

What Happens to the Current Transaction If the Session Is Ended in MySQL?

✍: 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)

 

Transaction Roll Back when Session Killed in MySQL

Transaction Committed when DDL Statement Executed in MySQL

Transaction Management: Commit or Rollback in MySQL

⇑⇑ MySQL Database Tutorials

2017-08-03, 1509🔥, 0💬