Go操作MySQL
事务相关方法
Go语言中使用以下三个方法实现MySQL中的事务操作。 开始事务
func (db *DB) Begin() (*Tx, error)
提交事务
func (tx *Tx) Commit() error
回滚事务
func (tx *Tx) Rollback() error
MySQL 事务操作
// MySQL 事务操作
func transaction() {
// 1. 开启事务
tx, err := db.Begin()
if err != nil {
fmt.Printf("DB Begin failed , err : %s\n", err)
return
}
// 2. 编写 sqlStr1 , sqlStr2 语句
sqlStr1 := "update user set age = age - 2 where id = 1 "
sqlStr2 := "update user set age = age + 2 where id = 2 "
// 逐一运行
_, err = tx.Exec(sqlStr1)
if err != nil {
fmt.Printf("sqlStr1 error : %s\n", err)
tx.Rollback()
}
_, err = tx.Exec(sqlStr2)
if err != nil {
fmt.Printf("sqlStr2 error : %s\n", err)
tx.Rollback()
}
// 3. 提交事务
err = tx.Commit()
if err != nil {
fmt.Printf("Commit failed , err %s\n", err)
tx.Rollback()
}
// 4. 成功提交打印提示词
fmt.Printf("Transaction Commit Success!\n")
}
上课笔记
- 1.开启事务
tx, err := db.Begin()
- 2.编写两个SQL操作语句
sqlStr1
,sqlStr2
- 3.逐一运行SQL语句,一旦出错即返回
tx.Rollback()
- 4.最后提交事务
tx.Commit()