Mysql
 sql >> Base de données >  >> RDS >> Mysql

Compter le nombre de lignes dans golang

La requête renverra une ligne dans le nombre de variables. Donc, la prochaine chose que vous devez faire est de lire cette ligne et d'affecter le résultat dans une nouvelle variable, en utilisant la fonction Scan() . Voici comment cela fonctionne.

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)

La meilleure option serait d'utiliser QueryRow() car vous vous attendez à lire une seule ligne. Le code sera alors.

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