当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。