當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


GO Tx.ExecContext用法及代碼示例

GO語言"database/sql"包中"Tx.ExecContext"類型的用法及代碼示例。

用法:

func(tx *Tx) ExecContext(ctx context.Context, query string, args ...any)(Result, error)

ExecContext 執行不返回行的查詢。例如:一個 INSERT 和 UPDATE。

例子:

package main

import (
	"context"
	"database/sql"
	"log"
)

var (
	ctx context.Context
	db  *sql.DB
)

func main() {
	tx, err := db.BeginTx(ctx, &sql.TxOptions{Isolation: sql.LevelSerializable})
	if err != nil {
		log.Fatal(err)
	}
	id := 37
	_, execErr := tx.ExecContext(ctx, "UPDATE users SET status = ? WHERE id = ?", "paid", id)
	if execErr != nil {
		if rollbackErr := tx.Rollback(); rollbackErr != nil {
			log.Fatalf("update failed: %v, unable to rollback: %v\n", execErr, rollbackErr)
		}
		log.Fatalf("update failed: %v", execErr)
	}
	if err := tx.Commit(); err != nil {
		log.Fatal(err)
	}
}

相關用法


注:本文由純淨天空篩選整理自golang.google.cn大神的英文原創作品 Tx.ExecContext。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。