Go でのデータベース行のカウント
Go でデータベースを操作する場合、多くの場合、テーブル内の行数を決定する必要があります。この情報は、ページネーション、統計、その他の目的に役立ちます。
Go で行をカウントする最も簡単な方法は、Query 関数を使用することです。
<code class="go">count, err := db.Query("SELECT COUNT(*) FROM main_table")</code>
ただし、Query は * を返します。結果セットを表す sql.Rows オブジェクト。実際の行数を取得するには、Scan 関数を使用してこの結果セットを変数に読み取る必要があります。
<code class="go">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)</code>
リソースを解放するには、*sql.Rows オブジェクトを閉じるのを常に延期する必要があることに注意してください。
単一行数を取得するための Query のより効率的な代替手段は、QueryRow 関数です。
<code class="go">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) }</code>
QueryRow は、単一行を取得するために特別に設計されており、結果セットを反復処理する必要がありません。 .
以上がGo でデータベース行を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。