Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Contar o número de linhas em golang


A consulta retornará uma linha na contagem da variável. Então, o próximo que você precisa fazer é ler esta linha e atribuir o resultado a uma nova variável, usando a função Scan() . É assim que funciona.
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)

A melhor opção seria usar QueryRow() como você espera ler apenas uma linha. O código então será.
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)
}