同时开两个事务的方法
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",
|
"Rr",
|
||||||
"Ee",
|
"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