共計(jì) 941 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
自動(dòng)寫代碼機(jī)器人,免費(fèi)開通
丸趣 TV 小編給大家分享一下 MySQL 事務(wù)管理是什么意思,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
事務(wù)處理用來維護(hù)數(shù)據(jù)庫等完整性,保證 mysql 操作要么成功,要么失敗(myisam 不支持事務(wù))
1、關(guān)鍵詞
事務(wù) (transaction) 指一組 SQL 語句;
回退 (rollback) 指撤銷指定 SQL 語句的過程;
提交 (commit) 指將未存儲(chǔ)的 SQL 語句結(jié)果寫入數(shù)據(jù)庫表;
保留點(diǎn) (savepoint) 指事務(wù)處理中設(shè)置的臨時(shí)占位符(place-holder),你可以對(duì)它發(fā)布回退(與回退整個(gè)事務(wù)處理不同)。
2、使用 rollback
select * from orderitems;
START TRANSACTION;
DELETE FROM orderitems;
select * from orderitems;
ROLLBACK;
select * from orderitems;
3、使用 commit
START TRANSACTION;
DELETE FROM orderitems where order_num = 20010;
DELETE FROM orders WHERE order_num = 20010;
COMMIT
假設(shè)第二條刪除失敗,回滾,撤銷事務(wù)處理塊內(nèi)的語句
4、使用保留點(diǎn)
復(fù)雜的事務(wù)處理可能需要部分提交或回退。
為了支持回退部分事務(wù)處理,必須能在事務(wù)處理塊中合適的位置放 置占位符。這樣,如果需要回退,可以回退到某個(gè)占位符。
這些占位符稱為保留點(diǎn)。為了創(chuàng)建占位符,可如下使用 SAVEPOINT
創(chuàng)建保留點(diǎn)
SAVEPOINT delete1
回退到保留點(diǎn)
ROLLBACK TO delete1
tips:保留點(diǎn)越多越好,方便靈活使用,but 沒必要到就算來哈!凡事適可而止
釋放保留點(diǎn)
1、保留點(diǎn)在事務(wù)處理完成 (執(zhí)行一條 ROLLBACK 或 COMMIT) 后自動(dòng)釋放
2、release savepoint delete1 明確釋放保留點(diǎn)
5、更改默認(rèn)到提交行為
mysql 是自動(dòng)提交所有更改。
不自動(dòng)提交更改
set autocommit = 0;
看完了這篇文章,相信你對(duì) MySQL 事務(wù)管理是什么意思有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!
向 AI 問一下細(xì)節(jié)
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!