Count number of rows in golang

帅比萌擦擦* 提交于 2019-12-05 00:20:14

问题


I want to display the number of rows from database using Go. How do I display number of rows?

count, err := db.Query("SELECT COUNT(*) FROM main_table")

回答1:


The query will return a row into the variable count. So the next you have to do is to read this row and assign the result into a new variable, using the function Scan(). This is how it works.

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)

The best option thought would be to use QueryRow() as you expect to read just one row. The code then will be.

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)
}


来源:https://stackoverflow.com/questions/49400284/count-number-of-rows-in-golang

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!