PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Operator nie istnieje:liczba całkowita =? podczas korzystania z Postgresa

PostgreSQL działa z ponumerowanymi symbolami zastępczymi ($1 , $2 , ...) natywnie zamiast zwykłych pozycyjnych znaków zapytania. Dokumentacja interfejsu Go również używa w przykładach ponumerowanych symboli zastępczych:

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

Wygląda na to, że interfejs Go nie tłumaczy znaków zapytania na ponumerowane symbole zastępcze w sposób, w jaki robi to wiele interfejsów, więc znak zapytania dociera do bazy danych i wszystko myli.

Powinieneś być w stanie przełączyć się na ponumerowane symbole zastępcze zamiast znaków zapytania:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgresql date_trunc do dowolnej precyzji?

  2. Wdrażanie i skalowanie PostgreSQL v13 za pomocą ClusterControl 1.8.2

  3. Psycopg2 nie lubi nazw tabel zaczynających się od małej litery

  4. Jak dopasować ostatnie dwa słowa w zdaniu w PostgreSQL?

  5. ZAMÓWIENIE PRZEZ Alias ​​nie działa