Fix

"sql: no rows in result set" in Go

Fix sql: no rows in result set by checking for sql.ErrNoRows after Scan or using Query with Next.

The error occurs because Row.Scan() expects at least one row, but your query returned zero results. Use QueryRow() to fetch a single expected row, or Query() with Next() to handle zero or multiple rows.

var id int
err := db.QueryRow("SELECT id FROM users WHERE name = $1", name).Scan(&id)
if err == sql.ErrNoRows {
    // Handle missing user
} else if err != nil {
    // Handle other errors
}