クエリは、変数カウントに行を返します。したがって、次に行う必要があるのは、関数Scan()
を使用して、この行を読み取り、結果を新しい変数に割り当てることです。 。これがその仕組みです。
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)
考えられる最良のオプションは、QueryRow()
を使用することです。 あなたがたった1行を読むことを期待しているように。その場合、コードは次のようになります。
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)
}