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


golang sql DB.QueryRowContext用法及代码示例

GO语言database/sql包DB.QueryRowContext函数的用法及代码示例。

用法:

func (db *DB) QueryRowContext(ctx context.Context, query string, args ...interface{}) *Row

QueryRowContext执行的查询预期最多返回一行。 QueryRowContext始终返回非nil值。错误将一直延迟到调用Row的Scan方法。如果查询未选择任何行,则“行扫描”将返回ErrNoRows。否则,*行扫描将扫描所选的第一行,并丢弃其余的行。

示例

package main

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

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

func main() {
	id := 123
	var username string
	var created time.Time
	err := db.QueryRowContext(ctx, "SELECT username, created_at FROM users WHERE id=?", id).Scan(&username, &created)
	switch {
	case err == sql.ErrNoRows:
		log.Printf("no user with id %d\n", id)
	case err != nil:
		log.Fatalf("query error: %v\n", err)
	default:
		log.Printf("username is %q, account created on %s\n", username, created)
	}
}

相关用法

注:本文由纯净天空筛选整理自golang.org大神的英文原创作品 golang sql DB.QueryRowContext。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。