diff --git a/field.go b/field.go
index 87ef745b..bfaf00a3 100644
--- a/field.go
+++ b/field.go
@@ -54,5 +54,5 @@ func (field *Field) Set(value interface{}) (err error) {
 	}
 
 	field.IsBlank = isBlank(field.Field)
-	return nil
+	return err
 }
diff --git a/scope.go b/scope.go
index c5660681..075fc948 100644
--- a/scope.go
+++ b/scope.go
@@ -849,7 +849,7 @@ func (scope *Scope) updatedAttrsWithValues(value interface{}) (results map[strin
 				field.Set(value)
 				if field.IsNormal {
 					hasUpdate = true
-					results[field.DBName] = field.Field.Interface()
+					results[field.DBName] = value
 				}
 			}
 		}