PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Операторът не съществува:цяло число =? когато използвате Postgres

PostgreSQL работи с номерирани заместители ($1 , $2 , ...) естествено, а не обичайните позиционни въпросителни знаци. Документацията за интерфейса Go също използва номерирани заместители в своите примери:

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

Изглежда, че интерфейсът Go не превежда въпросителните знаци в номерирани заместители, както правят много интерфейси, така че въпросителният знак стига чак до базата данни и обърква всичко.

Трябва да можете да превключвате към номерирани заместители вместо въпросителни:

 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. Postgres - Транспониране на редове в колони

  2. Внедряване на настройка с множество центрове за данни за PostgreSQL – част първа

  3. Инструкции IF-THEN-ELSE в postgresql

  4. Изберете Номер на ред в postgres

  5. Как да създадете потребител/база данни в скрипт за Docker Postgres