8

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 =?ことをコードが理解していないようですというエラーが表示されます。?どうすればこれを修正できますか?

4

1 に答える 1