在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數(shù)據(jù)庫/ 如果一個操作需要執(zhí)行 n 個 sql,都要用事務嗎?

如果一個操作需要執(zhí)行 n 個 sql,都要用事務嗎?

很多時候一個操作,實際上要分好幾個步驟,每個步驟都會執(zhí)行一個 sql 語句,我知道可以通過 mysql 事務的機制保證原子性,但是對于非重要業(yè)務的時候也這樣做就有點麻煩了,大家對于這樣的需求用不用事務?

回答
編輯回答
咕嚕嚕

為什么不用,即使不需要保證原子性,你也可以通過事務這種形式讓代碼邏輯清晰,你的代碼是要給后人看的,順手的事何樂而不為呢。

2018年2月8日 04:40
編輯回答
情已空

取決于業(yè)務邏輯。

具體來說就是:當其中某個 SQL 執(zhí)行失敗時,之前執(zhí)行過的 SQL 是否要全部回退?

如果是的話,那當然要用事務了。

那么什么情況下不是的呢?

比如最后一個 SQL 是寫入調(diào)試數(shù)據(jù),前面的業(yè)務已經(jīng)成功完成,那么即使最后的 SQL 執(zhí)行失敗,也不應該讓已經(jīng)成功的操作付諸東流,所以最后一個 SQL 沒必要加入事務當中。

2018年8月11日 20:54