1. 事务

    1.2. 具体例子

    1. func CreateAnimals(db *gorm.DB) err {
    2. // 注意在事务中要使用 tx 作为数据库句柄
    3. tx := db.Begin()
    4. if r := recover(); r != nil {
    5. tx.Rollback()
    6. }()
    7. if tx.Error != nil {
    8. return err
    9. }
    10. tx.Rollback()
    11. }
    12. if err := tx.Create(&Animal{Name: "Lion"}).Error; err != nil {
    13. tx.Rollback()
    14. return err
    15. }