PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

L'operatore non esiste:intero =? quando si utilizza Postgres

PostgreSQL funziona con segnaposto numerati ($1 , $2 , ...) in modo nativo piuttosto che i soliti punti interrogativi posizionali. La documentazione per l'interfaccia Go utilizza anche segnaposto numerati nei suoi esempi:

rows, err := db.Query("SELECT name FROM users WHERE age = $1", age)

Sembra che l'interfaccia Go non stia traducendo i punti interrogativi in ​​segnaposto numerati come fanno molte interfacce, quindi il punto interrogativo arriva fino al database e confonde tutto.

Dovresti essere in grado di passare ai segnaposto numerati anziché ai punti interrogativi:

 row := db.QueryRow(
    "SELECT name FROM users WHERE id = $1", id)