[SQL] "운영자가 존재하지 않습니다 : 정수 =?" 포스트 그레스를 사용하는 경우
SQL"운영자가 존재하지 않습니다 : 정수 =?" 포스트 그레스를 사용하는 경우
나는 이동의 데이터베이스 / 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 받고 있어요 : 연산자가 존재하지 않습니다 : 정수 =? 코드가 있음을 이해하지 못하는 것 같습니다? 단지 자리 표시 자입니다. 나는이 문제를 어떻게 해결할 수 있습니까?
해결법
-
==============================
1.PostgreSQL는 번호 지정자로 ($ 1, $ 2, ...) 기본적으로이 아닌 보통의 위치 물음표를 사용할 수 있습니다. 이동 인터페이스에 대한 문서는 또한 예제 번호가 자리 표시자를 사용합니다 :
PostgreSQL는 번호 지정자로 ($ 1, $ 2, ...) 기본적으로이 아닌 보통의 위치 물음표를 사용할 수 있습니다. 이동 인터페이스에 대한 문서는 또한 예제 번호가 자리 표시자를 사용합니다 :
rows, err := db.Query("SELECT name FROM users WHERE age = $1", age)
이동 인터페이스 번호 자리에 물음표가 데이터베이스에있는 모든 방법을 받고 모든 것을 혼란되도록 많은 인터페이스가하는 방법을 물음표를 번역하지 않는 것 같다.
대신 물음표의 번호가 자리 표시로 전환 할 수 있어야한다 :
row := db.QueryRow( "SELECT name FROM users WHERE id = $1", id)
from https://stackoverflow.com/questions/29887094/operator-does-not-exist-integer-when-using-postgres by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] NHibernate에 동적 열 번호 (0) | 2020.04.16 |
---|---|
[SQL] 어떻게 MySQL의 데이터를 생성하는? (0) | 2020.04.16 |
[SQL] 60000000 개 항목, 특정 월에서 항목을 선택합니다. 어떻게 데이터베이스를 최적화? (0) | 2020.04.16 |
[SQL] 오라클에서 SQL 쿼리에서 연결할 결과 (0) | 2020.04.16 |
[SQL] phpPgAdmin에서 PostgreSQL을 삽입 쿼리 구문 오류 (0) | 2020.04.16 |