当前位置: 首页 > wzjs >正文

舞蹈培训网站模板郴州网络推广公司排名

舞蹈培训网站模板,郴州网络推广公司排名,男女的做那个视频网站,新手怎么自学ps最近在编写一段代码的时候碰到了下面的一种情况那就是,在一个事务中插入一条数据,然后插入数据之后判断当前的插入是否生效,写的代码大概如下: return dao.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error {err : tx.C…

最近在编写一段代码的时候碰到了下面的一种情况那就是,在一个事务中插入一条数据,然后插入数据之后判断当前的插入是否生效,写的代码大概如下:

return dao.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error {err := tx.Clauses(clause.OnConflict{Columns:   []clause.Column{{Name: "key"}},DoNothing: true,}).Create(&record).Errorif err != nil {return err}if tx.RowsAffected == 0 {return nil}
})

结果后来发现,这段代码执行到:

if tx.RowsAffected == 0 {return nil
}

就自动结束了, 这里 tx.RowsAffected 实际指的是上一次 DB 操作的影响行数,但我查的是事务对象的属性,不是具体这条 Create 语句的影响行数。

在 GORM 里,RowsAffected 是属于 DB 实例(即 tx.Clauses(...).Create(&record) 返回的那个对象),而不是全局的 tx。

其实修改一下代码实现即可:

dbResult := tx.Clauses(clause.OnConflict{Columns:   []clause.Column{{Name: "key"}},DoNothing: true,
}).Create(&record)if dbResult.Error != nil {return dbResult.Error
}if dbResult.RowsAffected == 0 {return nil
}
http://www.dtcms.com/wzjs/111413.html

相关文章:

  • 网站利润百度推广代理商加盟
  • 免费制作主图的网站站长统计app下载
  • 西安网站建设xazxcy发布信息的免费平台
  • 做网站用go语言还是php游戏推广怎么做
  • 重庆做商城网站建设百度快照替代
  • 没有网站做cpa怎么赚钱抖音视频seo霸屏
  • 广州网站制作网站卖链接
  • 有偷菜餐厅城市建设的网站百度推广服务费3000元
  • 具备网站维护与建设能力五种常用的网站推广方法
  • 东莞市网络营销推广多少钱水平优化
  • 服务器网站日志文件深圳搜索seo优化排名
  • 辽宁城市建设网站neotv
  • 张云网站建设网络安全
  • 设计师培训心得优化网站排名费用
  • 专业建设的主要内容百度seo官网
  • 金融网站开发小说网站排名免费
  • 网站建设公司发展饥饿营销案例
  • emlog转换wordpressseo入门基础教程
  • 微信开放平台是干什么用的兰州网络优化seo
  • 企业网站推广方案网络营销作业百度app下载官方免费最新版
  • 佛山高端网页制作进一步优化
  • 网站运营培训班最好的网站优化公司
  • 网站建设哪家好江东seo做关键词优化
  • 成都网站建设 四川冠辰科技域名注册查询阿里云
  • 网站页面优化方法互联网怎么赚钱
  • wordpress视频上传湖南专业seo优化
  • 青岛黄岛区网站开发百度快照手机版网页版
  • 免费做公益网站seo是什么意思 为什么要做seo
  • 推广公司怎么做seo自然优化排名
  • 大学营销型网站建设实训课程chatgpt网页