注册

golang使用gorm的onconflict为什么只支持主键冲突的更新

DM_610107 2025/08/26 113 0

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: dm8
【操作系统】:macos
【CPU】:
【问题描述】*:gorm方言源码中必须包含在主键的列才会后续使用merge语法,这个是为什么?因为我们是pg迁移的,很多代码操作都是唯一索引而不是主键

if hasConflict { if len(db.Statement.Schema.PrimaryFields) > 0 { columnsMap := map[string]bool{} for _, column := range values.Columns { columnsMap[column.Name] = true } for _, field := range db.Statement.Schema.PrimaryFields { if _, ok := columnsMap[field.DBName]; !ok { hasConflict = false } } } else { hasConflict = false } }
回答 0
暂无回答
扫一扫
联系客服