PostgreSQL fungerar med numrerade platshållare ($1
, $2
, ...) naturligt snarare än de vanliga positionsfrågetecknen. Dokumentationen för Go-gränssnittet använder också numrerade platshållare i sina exempel:
rows, err := db.Query("SELECT name FROM users WHERE age = $1", age)
Det verkar som att Go-gränssnittet inte översätter frågetecknen till numrerade platshållare som många gränssnitt gör, så frågetecknet når hela vägen till databasen och förvirrar allt.
Du bör kunna byta till numrerade platshållare istället för frågetecken:
row := db.QueryRow(
"SELECT name FROM users WHERE id = $1", id)