Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zählen Sie die Anzahl der Zeilen in Golang

Die Abfrage gibt eine Zeile in die Variable count zurück. Als nächstes müssen Sie also diese Zeile lesen und das Ergebnis mit der Funktion Scan() einer neuen Variablen zuweisen . So funktioniert es.

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)

Die beste Option wäre die Verwendung von QueryRow() wie Sie erwarten, nur eine Zeile zu lesen. Der Code lautet dann.

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