如果在當前事務中間執行 START TRANSACTION,則當前事務將被提交并結束。當前事務中所做的所有數據庫更改都將永久生效。這稱為 START TRANSACTION 命令的隱式提交。
示例
假設我們在表“marks”中有以下值
mysql> select * from marks; +------+---------+-----------+-------+ | Id | Name | Subject | Marks | +------+---------+-----------+-------+ | 1 | Aarav | Maths | 50 | | 1 | Harshit | Maths | 55 | | 3 | Gaurav | Comp | 69 | +------+---------+-----------+-------+ 3 rows in set (0.00 sec) mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO Marks Values(4, 'Rahul','History',40); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Marks Values(5, 'Yashraj','English',48); Query OK, 1 row affected (0.00 sec) mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec)
登錄后復制
在此示例中,我們可以觀察到,當在當前事務中間執行 START TRANSACTION 語句時,它將隱式結束當前事務并提交更改。
mysql> select * from marks; +------+---------+-----------+-------+ | Id | Name | Subject | Marks | +------+---------+-----------+-------+ | 1 | Aarav | Maths | 50 | | 1 | Harshit | Maths | 55 | | 3 | Gaurav | Comp | 69 | | 4 | Rahul | History | 40 | | 5 | Yashraj | English | 48 | +------+---------+-----------+-------+ 5 rows in set (0.00 sec)
登錄后復制
以上就是如果在當前事務的中間執行 START TRANSACTION 命令,當前 MySQL 事務會發生什么?的詳細內容,更多請關注www.92cms.cn其它相關文章!