0
我正試圖學習如何使用database/sql
包與go-sql-driver。我寫了下面這個簡單的程序,它可以工作,但我無法弄清楚如何打印多個字段。如何打印查詢產生的多個字段?
數據庫wiki1
有三個字段,id
,title
和body
。我查詢「title1」這是其中一個值,但我想打印「title」和「body」的值。我如何?
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "root:[email protected]/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)
}
}
謝謝@dystroy!我還注意到'SELECT'中列名的順序必須與數據庫中列的順序相匹配。 – Zeynel
不,選擇中列的順序通常不必與數據庫中的某一個匹配。但是select中的順序必須與'scan'的順序相匹配。 –