Comptage des lignes de base de données dans Go
Lorsque vous travaillez avec des bases de données dans Go, il est souvent nécessaire de déterminer le nombre de lignes dans une table. Ces informations peuvent être utiles à des fins de pagination, de statistiques et à d'autres fins.
Le moyen le plus simple de compter les lignes dans Go consiste à utiliser la fonction Query :
<code class="go">count, err := db.Query("SELECT COUNT(*) FROM main_table")</code>
Cependant, Query renvoie un * Objet sql.Rows, qui représente un jeu de résultats. Pour récupérer le nombre réel de lignes, vous devez lire cet ensemble de résultats dans une variable à l'aide de la fonction 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>
Notez que vous devez toujours différer la fermeture de l'objet *sql.Rows pour libérer ses ressources.
Une alternative plus efficace à Query pour récupérer un seul nombre de lignes est la fonction 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 est conçu spécifiquement pour récupérer une seule ligne, évitant ainsi d'avoir à parcourir un ensemble de résultats.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!