add a field(LastInsertId) in scope to getLastInsertId

This commit is contained in:
yudayong 2019-08-16 22:01:25 +08:00
parent 836fb2c19d
commit 4ddf5a8da9
3 changed files with 6 additions and 0 deletions

View File

@ -128,6 +128,8 @@ func createCallback(scope *Scope) {
if result, err := scope.SQLDB().Exec(scope.SQL, scope.SQLVars...); scope.Err(err) == nil { if result, err := scope.SQLDB().Exec(scope.SQL, scope.SQLVars...); scope.Err(err) == nil {
// set rows affected count // set rows affected count
scope.db.RowsAffected, _ = result.RowsAffected() scope.db.RowsAffected, _ = result.RowsAffected()
// set lastInsertId
scope.db.LastInsertId, _ = result.LastInsertId()
// set primary value to primary field // set primary value to primary field
if primaryField != nil && primaryField.IsBlank { if primaryField != nil && primaryField.IsBlank {

View File

@ -17,6 +17,7 @@ type DB struct {
Value interface{} Value interface{}
Error error Error error
RowsAffected int64 RowsAffected int64
LastInsertId int64
// single db // single db
db SQLCommon db SQLCommon

View File

@ -382,6 +382,9 @@ func (scope *Scope) Exec() *Scope {
if count, err := result.RowsAffected(); scope.Err(err) == nil { if count, err := result.RowsAffected(); scope.Err(err) == nil {
scope.db.RowsAffected = count scope.db.RowsAffected = count
} }
if lastInsertId, err := result.LastInsertId(); scope.Err(err) == nil {
scope.db.LastInsertId = lastInsertId
}
} }
} }
return scope return scope