func scopePrimaryKeys(scope *gorm.Scope, tableName string) string { var primaryKeys []string for _, field := range scope.PrimaryFields() { key := fmt.Sprintf("%v.%v", scope.Quote(tableName), scope.Quote(field.DBName)) primaryKeys = append(primaryKeys, key) } if len(primaryKeys) > 1 { return fmt.Sprintf("(%v)", strings.Join(primaryKeys, ",")) } return strings.Join(primaryKeys, "") }