原子性,一致性,隔离性,持久性
手动开启事务:db.Begin()-->Tx
一组sql操作
tx.Exec(),tx.Prepare()...

手动提交提交,回滚

tx.Commit(),tx.Rollback()

package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql"
)func main() { /* 事务: 4大特性:ACID 原子性: 一致性: 隔离性: 永久性: */
//rose-->jack,2000元 db, _ := sql.Open("mysql",
"root:hanru1314@tcp(127.0.0.1:3306)/my1802?charset=utf8") //开启事务 tx, _ :=
db.Begin()//提供一组sql操作 var aff1, aff2 int64 = 0, 0 result1, _ := tx.Exec("UPDATE
account SET money=3000 WHERE id=?", 1) result2, _ := tx.Exec("UPDATE account
SET money2=2000 WHERE id=?", 2) //fmt.Println(result2) if result1 != nil { aff1,
_ = result1.RowsAffected() }if result2 != nil { aff2, _ = result2.RowsAffected()
; } fmt.Println(aff1) fmt.Println(aff2) if aff1 == 1 && aff2 == 1 { //提交事务
tx.Commit() fmt.Println("操作成功。。") } else { //回滚 tx.Rollback() fmt.Println(
"操作失败。。。回滚。。") } }

技术
©2019-2020 Toolsou All rights reserved,
【jvm学习】执行引擎python(基本介绍)用户管理和文件权限C++第五章多态性习题:(快大结局了)VHDL——含异步清零和同步使能的加法计数器源程序Windows网络服务渗透测试实战-跨网段攻击JavaScript百炼成仙 1.15 天秀找出游戏的获胜者(java)单片机能做什么,你有什么有单片机或开源硬件做的有意思的作品吗一份笔记让你从 15K 涨薪并跳槽到32K+16