github.com/gogf/gf@v1.16.9/.example/database/gdb/mysql/gdb_transaction.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/gogf/gf/frame/g"
     5  )
     6  
     7  func main() {
     8  	var (
     9  		db    = g.DB()
    10  		table = "user"
    11  	)
    12  	tx, err := db.Begin()
    13  	if err != nil {
    14  		panic(err)
    15  	}
    16  	if err = tx.Begin(); err != nil {
    17  		panic(err)
    18  	}
    19  	_, err = tx.Model(table).Data(g.Map{"id": 1, "name": "john"}).Insert()
    20  	if err = tx.Rollback(); err != nil {
    21  		panic(err)
    22  	}
    23  	_, err = tx.Model(table).Data(g.Map{"id": 2, "name": "smith"}).Insert()
    24  	if err = tx.Commit(); err != nil {
    25  		panic(err)
    26  	}
    27  }