如果在目前交易中間執行 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 交易會發生什麼事?的詳細內容。更多資訊請關注PHP中文網其他相關文章!