7.事务操作
- 使用db.Begin()进行开启
- 操作数据库
- 开启成功之后,进行事务操作
操作-Exec
查询-Query
func main(){//连接数据库db,err := sql.Open("mysql","ims:123456@tcp(192.168.0.26:3306)/ibcf")if err != nil{log.Fatal("连接数据库失败:",err) }//关闭连接defer db.Close()//验证是否连接成功err = db.Ping()if err != nil{log.Fatal("验证失败:",err) }fmt.Println("连接成功!")//开启事务tx,err := db.Begin()if err != nil{log.Fatal("开启事务失败:",err) }//操作数据库if _,err := tx.Exec("UPDATE user0 SET server_port = ? WHERE id = ?","1111",1);err != nil{tx.Rollback()//事务回滚log.Fatal("更新失败:",err) }_,err := tx.Query("SELECT id,server_ip,server_port FROM user0")if err != nil{tx.Rollback()//事务回滚log.Fatal("查询失败!") }if _,err := tx.Exec("INSERT INTO user0(id,server_ip,server_port) VALUES(?,?,?)",2,"192.168.0.0",9090);err != nil{tx.Rollback()//事务回滚log.Fatal("插入数据失败:",err) }//关闭if err := tx.Commit();err != nil{tx.Rollback()//事务回滚log.Fatal("关闭失败:",err) }}