Count number of rows in golang

后端 未结 1 1151
温柔的废话
温柔的废话 2021-01-03 00:11

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条回答
  •  难免孤独
    2021-01-03 01:09

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

    0 讨论(0)
提交回复
热议问题