go の database/sql パッケージによって提供される QueryRow メソッド内で呼び出される単純な SQL クエリがあります。
import (
"github.com/codegangsta/martini"
"github.com/martini-contrib/render"
"net/http"
"database/sql"
"fmt"
_ "github.com/lib/pq")
)
type User struct {
Name string
}
func Show(db *sql.DB, params martini.Params) {
id := params["id"]
row := db.QueryRow(
"SELECT name FROM users WHERE id=?", id)
u := User{}
err := row.Scan(&u.Name)
fmt.Println(err)
}
ただし、コードが単なるプレースホルダーであるpq: operator does not exist: integer =?
ことをコードが理解していないようですというエラーが表示されます。?
どうすればこれを修正できますか?