关键词搜索

源码搜索 ×
×

go mysql事务代码示例

发布2018-11-16浏览7054次

详情内容

        在mysql中,可用begin, commit/rollback命令来操作,下面来看go代码操作:

  1. package main
  2. import (
  3. "fmt"
  4. "database/sql"
  5. _ "github.com/go-sql-driver/mysql"
  6. )
  7. func main() {
  8. db, _ := sql.Open("mysql", "root@/taoge")
  9. tx, _ := db.Begin() // begin transaction
  10. var aff1, aff2 int64 = 0, 0
  11. result1, _ := tx.Exec("UPDATE user SET strValue='3041' WHERE strKey=?", "k1")
  12. result2, _ := tx.Exec("UPDATE user SET strValue='4041' WHERE strKey=?", "k2")
  13. if result1 != nil {
  14. aff1, _ = result1.RowsAffected()
  15. }
  16. if result2 != nil {
  17. aff2, _ = result2.RowsAffected();
  18. }
  19. fmt.Println(aff1)
  20. fmt.Println(aff2)
  21. if aff1 == 1 && aff2 == 1 {
  22. tx.Commit() // commit transaction
  23. fmt.Println("ok")
  24. } else {
  25. tx.Rollback() // rollback transaction
  26. fmt.Println("failed, then rollback")
  27. }
  28. }

        自测OK.   可以玩一下, 对理解mysql事务有帮助。

        没什么好说的。

 

 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载