原子性,一致性,隔离性,持久性
手动开启事务: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,
CSS动画效果ConcurrentHashMap实现原理及源码分析袁隆平团队再创新纪录:耐盐水稻平均亩产1605.8斤致远OA A8 poc中的编码 网站安全有哪些防护措施?ajax 上传表单文件face_recognition的5个应用实例Keras保存与加载模型(JSON+HDF5)json反斜杠问题k8s入门到放弃--k8s重要概念