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

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

sql/db 事務無法使用 ms sql 正確回滾

sql/db 事務無法使用 ms sql 正確回滾

Go
HUWWW 2021-11-01 17:23:10
所以我不能說得太具體,但我認為我能告訴你的就足以解決這個問題。首先,我使用 gorp 進行設置并進行交易。我正在使用github.com/denisenkom/go-mssqldb驅動程序。然后我進行了一系列操作,如果其中失敗了我rollback,如果都成功了我commit。問題是它只回滾失敗的語句,而不是其余的操作。我錯了,這不是應該如何工作嗎?這是一些粗略的偽代碼,讓您更好地了解我在說什么:trans,err := dbmap.Begin()//assume all errors are received and checked before continuingid := trans.Exec("insert thing") //successful, persists after rollback thing := trans.Select("Select thing") //successfultrans.Exec("update other_thing with thing") //successful, persists after rollbacknewthing := trans.Exec("insert new_thing with thing") //fails, rollsbackif err != nil{   trans.Rollback() //No errors   return}trans.Commit()我錯了,這應當rollback一切,因為dbmap.Begin()?這是驅動程序實現中的錯誤嗎?非常歡迎任何和所有幫助。謝謝!更新測試https://play.golang.org/p/0L3Vgk8C_F并且它有效,所以我猜這意味著它與 gorp 有關。我正在使用 v1 分支,因為這將很快投入生產,因此穩定性是關鍵。我會仔細檢查它,但看起來它只是輕輕地包裹著它。
查看完整描述

2 回答

  • 2 回答
  • 0 關注
  • 228 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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