sql >> Databáze >  >> RDS >> Mysql

Počítejte počet řádků v golangu

Dotaz vrátí řádek do počtu proměnných. Takže další, co musíte udělat, je přečíst tento řádek a přiřadit výsledek do nové proměnné pomocí funkce Scan() . Funguje to takto.

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)

Nejlepší možností by bylo použít QueryRow() jak očekáváte, že přečtete pouze jeden řádek. Kód pak bude.

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



  1. Uložená procedura MySQL způsobila `Příkazy se nesynchronizují`

  2. Instalace Percona XtraDB Cluster na CentOS 7

  3. Vypuštění připojeného uživatele ze schématu databáze Oracle 10g

  4. MySQL uspořádá existující sloupce tabulky