当前位置: 首页 > 面试题库 >

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

荆树
2023-03-14
问题内容

我正在尝试学习如何将database/sql软件包与go-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)


 类似资料:
  • 问题内容: 如何多次重复一个字符串?我知道我可以使用for循环,但是我想在每一行中重复一行字符串时间。 例如,如果用户输入,则输出将是: 其中等于2,等于4。 问题答案: 要么

  • 问题内容: 是否可以在Magento中显示所有查询字符串?我真的很想看看执行了哪些查询。 谢谢 问题答案: 我不是100%确定这将捕获 每个 查询,但是大多数运行 在 考虑到这一点,您可以临时添加一些调试语句(为了安全起见,请向您制作的副本中添加) 如果您需要全部捕获它们,最好在MySQL级别进行(这并非总是可能的,具体取决于您的主机/ IT情况)

  • 我现在的代码: 我希望它打印两个数组的交集,而不需要再次打印相同的数字。 E、 g:code>[1,2,2,1]和的交点应该只打印一次,而不是像我现在的代码那样。

  • 我在谷歌周围看了一段时间,但没有工作。有谁能帮我解决这个问题吗?

  • 问题内容: 我在Jenkins(v2.7.1)中完成了Pipeline作业,在此我想打印多行字符串参数()的每个元素,每行3个字符串: Foo , Bar , Baz 作为输入。 因此,我尝试了以下语法(使用和): 但是它失败了: :尚不支持在经过CPS转换的闭包上调用public static java.lang.Object org.codehaus.groovy.runtime.Defaul

  • 问题内容: 我想打印一个特定的Python字典键: 现在我可以检查是否可以,但是我想做的是打印密钥的名称。当然可以使用,但是我不想列出 所有 键,而只列出一个特定的键。例如,我期望这样的事情(用伪代码): 有什么方法可以打印键名? 编辑: 好的,非常感谢你们的反应!:)我意识到我的问题没有很好地表述和琐碎。我只是感到困惑,因为我意识到key_name是两个不同的东西,我认为从字典上下文中打印出来是