找了一些资料 根据唯一索引的操作
在id冲突的情况下 更新列
service.G.Clauses(clause.OnConflict{
Columns: []clause.Column{{Name: "id"}},
DoUpdates: clause.AssignmentColumns([]string{"title", "content", "statu"}),
}).Create(ac)
冲突的时候啥也不做,适合只插入
service.G.Clauses(clause.OnConflict{DoNothing: true}).Create(ac)
id冲突的时候更新指定的列为指定的值
service.G.Clauses(clause.OnConflict{
Columns: []clause.Column{{Name: "id"}},
DoUpdates: clause.AssignmentColumns(map[string]interface{}{"statu":-1}),
}).Create(ac)
在冲突时,更新除主键以外的所有列
service.G.Clauses(clause.OnConflict{UpdateAll: true}).Create(ac)
程序员,产品
8.6
PHP Go 前端
JwCode
渐悟分享