如果在事務中間結束會話,當前的 MySQL 事務會發生什麼?
假設如果在事務中間結束會話,則 MySQL 會回滾當前的 MySQL 事務並結束。這意味著在當前事務中所做的所有資料庫更改都將被刪除。當會話結束時,這稱為隱式回滾。
示例
假設我們在 'marks' 表中有以下值
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 | | 6 | Manak | History | 70 | +------+---------+-----------+-------+ 6 rows in set (0.00 sec) mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> UPDATE marks SET Name = ‘Yash’ Where id = 5; Query OK, 1 row affected (0.06 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> quit; Bye
在上面的示例中,更新表中的值後,透過執行 quit 語句結束會話。當我們再次啟動會話後檢查表時,更新的值已被 MySQL 回滾,因為會話是在事務中間結束的。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP