我想使用Go显示数据库中的行数。如何显示行数?
count, err := db.Query("SELECT COUNT(*) FROM main_table")
答案 0 :(得分:7)
查询将向变量count返回一行。所以接下来你要做的就是读取这一行并使用函数Scan()
将结果分配到一个新变量中。这是它的工作原理。
rows, err := db.Query("SELECT COUNT(*) FROM main_table")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
var count int
for rows.Next() {
if err := rows.Scan(&count); err != nil {
log.Fatal(err)
}
}
fmt.Printf("Number of rows are %s\n", count)
最好的选择是使用QueryRow()
,因为您希望只阅读一行。那么代码就是。
var count int
err := db.QueryRow("SELECT COUNT(*) FROM main_table").Scan(&count)
switch {
case err != nil:
log.Fatal(err)
default:
fmt.Printf("Number of rows are %s\n", count)
}