diff --git a/association.go b/association.go index 1dce7a00..dfc79598 100644 --- a/association.go +++ b/association.go @@ -156,8 +156,10 @@ func (association *Association) Replace(values ...interface{}) *Association { } newPrimaryKeys = association.getPrimaryKeys(associationForeignFieldNames, field.Interface()) - sql := fmt.Sprintf("%v NOT IN (%v)", toQueryCondition(scope, relationship.AssociationForeignDBNames), toQueryMarks(newPrimaryKeys)) - newDB = newDB.Where(sql, toQueryValues(newPrimaryKeys)...) + if len(newPrimaryKeys) > 0 { + sql := fmt.Sprintf("%v NOT IN (%v)", toQueryCondition(scope, relationship.AssociationForeignDBNames), toQueryMarks(newPrimaryKeys)) + newDB = newDB.Where(sql, toQueryValues(newPrimaryKeys)...) + } } if relationship.Kind == "many_to_many" {