91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL支不支持事務嵌套的案例分析

發布時間:2020-10-14 16:58:10 來源:億速云 閱讀:152 作者:小新 欄目:MySQL數據庫

MySQL支不支持事務嵌套的案例分析?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

最近開發中遇到了使用MySQL,多次開啟事務,出現了數據錯亂問題,偽代碼如下:

begin;
# 操作1
begin;
# 操作2
rollback;

執行完后出現了操作1的數據真正寫入,只有操作2的數據回滾了。在第一個事務沒有提交或回滾時,再開啟第二個事務時,會自動提交第一個事務。

這明顯不符合心理預期,而且也無法回滾一部分操作。那么問題來了,MySQL 支不支持事務嵌套呢

這個問題很難準確回答支持還是不支持!

首先,調用多次begin的寫法,在MySQL里肯定是無法首先事務嵌套的。經過群內一位朋友的提醒,了解到MySQL中有一個叫savepoint和rollback to的語句。

示例代碼:

DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
 
begin;
 
insert into `test`(`name`) values('111');
 
SAVEPOINT p1;
 
insert into `test`(`name`) values('222');
 
ROLLBACK TO p1;
 
commit;

最終執行結果,test表中只有111這個數據,實現了部分操作的回滾操作。同理也避免了多次開啟事務,導致前一個事務被提交的問題。

可能savepoint和rollback to語句并不能稱之為事務嵌套,也不能說MySQL是支持還是不支持事務嵌套。總之通過savepoint和rollback to,是可以用來達到一些事務嵌套特性的。

感謝各位的閱讀!看完上述內容,你們對MySQL支不支持事務嵌套的案例分析大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秭归县| 广宁县| 永兴县| 博湖县| 安康市| 张家界市| 开平市| 高淳县| 襄汾县| 隆德县| 清新县| 柏乡县| 濮阳市| 民勤县| 衡南县| 苍溪县| 石楼县| 东乌珠穆沁旗| 阳东县| 隆昌县| 潢川县| 仁化县| 禹城市| 五华县| 万安县| 鹤岗市| 巴彦淖尔市| 罗源县| 延寿县| 灵寿县| 离岛区| 沐川县| 如东县| 古浪县| 洪湖市| 伊通| 大邑县| 旌德县| 金沙县| 黑龙江省| 资源县|