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

标签

工具导航Map

JSON相关