sql >> Database >  >> RDS >> PostgreSQL

Operator bestaat niet:geheel getal =? bij gebruik van Postgres

PostgreSQL werkt met genummerde tijdelijke aanduidingen ($1 , $2 , ...) native in plaats van de gebruikelijke positionele vraagtekens. De documentatie voor de Go-interface gebruikt ook genummerde tijdelijke aanduidingen in de voorbeelden:

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

Het lijkt erop dat de Go-interface de vraagtekens niet vertaalt naar genummerde tijdelijke aanduidingen zoals veel interfaces doen, dus het vraagteken komt helemaal in de database en verwart alles.

U zou moeten kunnen overschakelen naar genummerde tijdelijke aanduidingen in plaats van vraagtekens:

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



  1. Hoe een tabel met beperkte externe sleutels af te kappen?

  2. Zeer beschikbare PostgreSQL implementeren met Single Endpoint voor WordPress

  3. SQL-TOETSEN

  4. FOUT 1045 (28000):Toegang geweigerd voor gebruiker 'root'@'localhost' (met wachtwoord:JA)