go 連線 mysql 開啟事務

2021-09-23 13:27:09 字數 1931 閱讀 6935

資料庫:

create database customer;#建立資料庫

use customer;#使用資料庫

create table customer(id int primary key auto_increment ,name varchar(11),*** varchar(4),age int ,phone varchar(20), email varchar(20));#非空,唯一標識,自增,新增字段

insert into customer (name,***,age,phone , email) values(『tom』,『男』,18,『123123』,『[email protected]』);#新增資訊

select * from customer;#查詢資訊

desc customer;#檢視表結構

)// 結構體

type customer struct

type customers struct

const (

drivername = 「mysql」

driver = 「root:root@tcp(localhost:3306)/customer?charset=utf8」

)var db = &sql.db{}

func init()

db.setconnmaxlifetime(100 * time.second) // 最大連線週期,超過時間的連線就close

db.setmaxopenconns(100) // 設定最大連線數

db.setmaxidleconns(16) // 設定閒置連線數

}// 錯誤資訊

func checkerr(err error)

}// 回滾

func cleartransaction(tx *sql.tx)

}// 查詢customer

func (this *customers) query(db *sql.db) customer

return this.customers// 新增 返回受影響行數

func (this *customers) increase(customer customer, tx *sql.tx) int64

return numfunc main()

customer := customer

// 開啟事務

tx, err := db.begin()

checkerr(err)

defer cleartransaction(tx)

// 查詢

fmt.println("*******************查詢*******************")

fmt.println("序號\t姓名\t性別\t年齡\t**\temail")

for _, v := range this.query(db)

fmt.println("******************查詢完成******************")

fmt.println()

// 新增

fmt.println("*******************新增*******************")

fmt.println(this.increase(customer, tx))

if this.increase(customer, tx) != 1

fmt.println("******************新增完成******************")

fmt.println()

// 修改同等

// 刪除同等

MySQL開啟事務

什麼是事務?事務是邏輯上的一組操作,組成這組操作的各個單元,要不全都成功要不全都失敗,這個特性就是事務 注意 mysql資料支援事務,但是要求必須是innodb儲存引擎 解決這個問題 mysql的事務解決這個問題,因為mysql的事務特性,要求這組操作,要不全都成功,要不全都失敗,這樣就避免了某個操...

NodeJs mysql 開啟事務

如題 node後台使用mysql資料庫,並使用事務來管理資料庫操作。這裡主要講乙個事務的封裝並寫了乙個insert 插入操作。code db.config.js const mysql require mysql const pool mysql.createpool 返回乙個promise鏈結 c...

MVC開啟事務方法

引言 其實事務在資料層 服務層 業務邏輯層多處地方都會使用到,在本篇文章將會為大家一一細說。其中前面四節是事務的基礎,後面的三節是事務的重點,對事務有基礎的朋友可以跳過前面四節。文章有錯漏的地方歡迎各位點評。一 事務的定義 所謂事務,它是乙個操作集合,這些操作要麼都執行,要麼都不執行,它是乙個不可分...