gpt4 book ai didi

go - 如何打印查询产生的多个字段?

转载 作者:数据小太阳 更新时间:2023-10-29 03:07:47 25 4
gpt4 key购买 nike

我正在尝试学习如何使用 database/sqlgo-sql-driver .我编写了以下简单程序并且它可以运行,但我不知道如何打印多个字段。

数据库wiki1有三个字段,idtitlebody。我查询“title1”,这是值之一,但我想打印“title”和“body”的值。我该怎么做?

package main

import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)

func main() {


db, err := sql.Open("mysql", "root:Password1@/wiki1")
if err != nil {
fmt.Println(err)
return
}
defer db.Close()

st, err := db.Prepare("SELECT title FROM page WHERE title=?")
if err != nil {
fmt.Println(err)
}
rows, err := st.Query("title1")
if err != nil {
fmt.Println(err)
}

for rows.Next() {
var title, body string
if err := rows.Scan(&title); err != nil {
fmt.Println(err)
}

fmt.Printf("%s\n", title)
}
if err := rows.Err(); err != nil {
fmt.Println(err)
}
}

最佳答案

要阅读 bodytitle 而不仅仅是 title,首先更改语句。

改变

st, err := db.Prepare("SELECT title FROM page WHERE title=?")

st, err := db.Prepare("SELECT body, title FROM page WHERE title=?")

然后改变读数。改变

    var title, body string
if err := rows.Scan(&title); err != nil {
fmt.Println(err)
}

    var title, body string
if err := rows.Scan(&body, &title); err != nil {
fmt.Println(err)
}

这会读取两列。

要打印字段,您可以这样做

fmt.Printf("title: %s\nbody: %s\n", title, body)

您将找到有关使用数据库/sql 进行查询的更多详细信息,请阅读 related question .

关于go - 如何打印查询产生的多个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17763754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com