GORM事务使用步骤
- 调用 DB 对象的 Begin 方法开启一个事务。
- 在事务中执行相应的操作,包括插入、更新和删除等。
- 如果操作成功,调用 Commit 方法提交事务;如果操作失败或出现异常,调用 Rollback 方法回滚事务。
GORM事务例子
// 开启事务
tx := db.Begin()
// 在事务中执行操作,注意下面使用的是tx,执行操作不是db
if err := tx.Create(&User{Name: "Alice"}).Error; err != nil {
// 操作失败,回滚事务
tx.Rollback()
log.Fatal(err)
}
if err := tx.Create(&User{Name: "Bob"}).Error; err != nil {
// 操作失败,回滚事务
tx.Rollback()
log.Fatal(err)
}
// 操作成功,提交事务
if err := tx.Commit().Error; err != nil {
log.Fatal(err)
}