diff --git a/gorm.go b/gorm.go index b5d98196..1445e40b 100644 --- a/gorm.go +++ b/gorm.go @@ -347,13 +347,13 @@ func (db *DB) Callback() *callbacks { // AddError add error to db func (db *DB) AddError(err error) error { - if errTranslator, ok := db.Dialector.(ErrorTranslator); ok { - err = errTranslator.Translate(err) - } - if db.Error == nil { db.Error = err } else if err != nil { + if errTranslator, ok := db.Dialector.(ErrorTranslator); ok { + err = errTranslator.Translate(err) + } + db.Error = fmt.Errorf("%v; %w", db.Error, err) } return db.Error