亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

MySQL 如何使用事務

瀏覽:114日期:2023-10-11 18:47:08

基礎知識

事務是指對一組 SQL 語句進行一個原子化的操作,即如果這一組 SQL 語句中有一條發生錯誤,那么其他的同組 SQL 就都不會被執行。

你可以把它當作一個測試,當你執行完一組 SQL 語句后,可以查看一下結果是否正確,如果正確后可以選擇提交,如果不正確則可以進行回滾,恢復到原本的狀態。

在 MySQL 中,所有的操作默認都是自動進行提交,當開啟事務后則變為手動提交。

基本使用

單獨開啟

單獨開啟是指對某一組的 SQL 語句開啟事務。

CREATE TABLE user( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, name CHAR(12) NOT NULL, balance INT UNSIGNED ); -- 創建用戶表INSERT INTO user(name,balance) VALUES ('Yunya',1000), ('Ken',500); -- 插入數據start transaction; -- 開啟事務,增刪改操作均要手動提交 UPDATE user SET balance = 500 WHERE name = 'Yunya'; -- Yunya對Ken轉賬500 UPDATE user SET balance = 1000 WHERE name = 'Ken'; SELECT * FROM user; -- 驗證是否出錯 COMMIT; -- 提交事務:手動提交上面兩條UPDATE -- ROLLBACK; -- 事務回滾:轉賬金額不對時使用回滾BEGIN -- 關閉事務,增刪改操作均自動提交

全局開啟

如果所有 SQL 都使用事務操作,我們可以通過 SET AUTOCOMMIT=0 關閉自動提交來開啟事務機制,這樣所有語句都是事務類型。

-- 關閉自動提交SET AUTOCOMMIT = 0;INSERT INTO user(name,balance) VALUES(’Jack’,8000);COMMIT;-- 開啟自動提交SET AUTOCOMMIT = 1;

事務隔離

并發問題

當高并發訪問會遇到多個事務的隔離問題,可能會出現以下:

臟讀:事務A讀取了事務B更新的數據,然后B回滾操作,那么A讀取到的數據是臟數據不可重復讀:事務A多次讀取同一數據,事務B在事務A多次讀取的過程中,對數據作了更新并提交,導致事務A多次讀取同一數據時,結果不一致。幻讀:系統管理員A將數據庫中所有學生的成績從具體分數改為ABCDE等級,但是系統管理員B就在這個時候插入了一條具體分數的記錄,當系統管理員A改結束后發現還有一條記錄沒有改過來,就好像發生了幻覺一樣,這就叫幻讀。不可重復讀的和幻讀很容易混淆,不可重復讀側重于修改,幻讀側重于新增或刪除。解決不可重復讀的問題只需鎖住滿足條件的行,解決幻讀需要鎖表

隔離級別

系統默認隔離級別為3級,可能出現幻讀的情況。

隔離級別 中文釋義 臟讀 不可重復讀 幻讀 說明 read uncommitted 讀未提交 是 是 是 最低的事務隔離級別,一個事務還沒提交時,它做的變更就能被別的事務看到 read committed 不可重復讀 否 是 是 保證一個事物提交后才能被另外一個事務讀取。另外一個事務不能讀取該事物未提交的數據 repeatable read 可重復讀 否 否 是 多次讀取同一范圍的數據會返回第一次查詢的快照,即使其他事務對該數據做了更新修改。事務在執行期間看到的數據前后必須是一致的 serializable 串行化 否 否 否 事務 100% 隔離,可避免臟讀、不可重復讀、幻讀的發生。花費最高代價但最可靠的事務隔離級別

查詢設置

查詢隔離級別

select @@tx_isolation;

設置隔離級別

set session transaction isolation level read uncommitted; -- set session只對當前會話有效,set global則對全局有效

以上就是MySQL 如何使用事務的詳細內容,更多關于MySQL 事務的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 国产欧美亚洲精品 | 黄色在线观看www | 国产一区二区精品久久凹凸 | 欧美v亚洲v国产v | 久久香蕉国产在产线看观看 | 欧美人成人亚洲专区中文字幕 | 久久精视频 | 黄色网址视频 | 成人免费视频一区二区三区 | 天天色影网 | 小明台湾成人永久免费看看 | 三级黄色大片 | 亚洲成年看片在线观看男男 | 一级黄色大片免费看 | 国产日韩视频一区 | wwwwwxxxxx日本| 国产a不卡片精品免费观看 国产a毛片高清视 | 免费日韩在线 | 国产日韩视频一区 | 亚洲午夜精品专区国产 | 精品国产成人在线 | 91av成年影院在线播放 | 免费国产综合视频在线看 | 丁香综合激情 | 97久久天天综合色天天综合色hd | 国产精品美女一区二区三区 | aaa级精品久久久国产片 | 免费看a级黄色片 | 亚洲国产清纯 | 日本特黄绿像大片免费看 | 在线观看国产一区二区三区 | 日韩美一区二区 | 亚洲国产日韩在线 | 中文一区 | 久久er热这里只有精品免费 | 99成人国产精品视频 | 免费看a | 国产成 人 综合 亚洲绿色 | 国产成人精品综合久久久软件 | 特级毛片视频在线 | 欧美特黄aaaaaa |