同时开两个事务的方法
This commit is contained in:
parent
af666aafa4
commit
ce4d32530b
21
lxDb/sql.go
21
lxDb/sql.go
@ -375,3 +375,24 @@ var where = []string{
|
||||
"Rr",
|
||||
"Ee",
|
||||
}
|
||||
|
||||
// Transaction 同时开两个事务的方法
|
||||
func Transaction(txItem, txMain *gorm.DB, fun func(txItem, txMain *gorm.DB) (err error)) (err error) {
|
||||
tx1 := txItem.Begin()
|
||||
tx2 := txMain.Begin()
|
||||
err = fun(tx1, tx2)
|
||||
if err != nil {
|
||||
tx1.Rollback()
|
||||
tx2.Rollback()
|
||||
return err
|
||||
}
|
||||
err = tx1.Commit().Error
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = tx2.Commit().Error
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user