What Happens to the Current Transaction If a START TRANSACTION Is Executed

Q

What Happens to the Current Transaction If a START TRANSACTION Is Executed? - MySQL FAQs - Transaction Management: Commit or Rollback

✍: FYIcenter.com

A

If you are in a middle of a current transaction, and a START TRANSACTION command is executed, the current transaction will be committed and ended. All the database changes made in the current transaction will become permanent. This is called an implicit commit by a START TRANSACTION command.

The following tutorial exercise shows you that the START TRANSACTION command forced the current transaction to be committed and ended. The subsequent ROLLBACK command had no effects on the closed transaction:

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

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

mysql> UPDATE fyi_links SET notes='Good', counts=999
   WHERE id=101;
Query OK, 1 row affected (0.11 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> UPDATE fyi_links SET notes='Wrong', counts=0
   WHERE id=110;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

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

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

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
+-----+---------------+-------+--------+--------------------
2 rows in set (0.00 sec)

2007-05-11, 5218👍, 0💬