亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何處理 sql.ErrTxDone

如何處理 sql.ErrTxDone

Go
慕尼黑8549860 2023-07-04 14:53:27
例如,我試圖在我的 mysql 數據庫中創建一條新記錄。在 sql.ErrTxDone 的情況下,它實際上意味著什么,如果事務已提交,我應該做什么?
查看完整描述

1 回答

?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

如果事務處于無法再使用的狀態,您會收到此錯誤。

sql.Tx:

調用 Commit 或 Rollback 后,事務上的所有操作都會失敗并顯示 ErrTxDone。

還有sql.ErrTxDone

ErrTxDone 由對已提交或回滾的事務執行的任何操作返回。

var?ErrTxDone?=?errors.New("sql:?transaction?has?already?been?committed?or?rolled?back")

你該怎么辦?不要再使用交易了。如果您還有其他任務,請在該任務之外或在另一個事務中完成。

如果您有應該在同一事務中的任務,請在完成所有必須要做的事情之前不要提交它。如果事務被回滾(例如由于先前的錯誤),您別無選擇,只能重試(使用另一個事務)或報告失敗。

如果您已經在使用事務,請嘗試將需要發生的所有內容都放入事務中,要么全有要么全無。這就是交易的重點。要么其中的所有內容都得到應用,要么什么都不應用。正確使用它們,您就不必考慮清理它們。他們要么成功,你就高興,要么失敗,你要么重試,要么報告錯誤,但你不必做任何清理。


查看完整回答
反對 回復 2023-07-04
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號