sql >> Databáze >  >> RDS >> PostgreSQL

Operátor neexistuje:integer =? při používání Postgres

PostgreSQL pracuje s číslovanými zástupnými symboly ($1 , $2 , ...) nativně spíše než obvyklé poziční otazníky. Dokumentace pro rozhraní Go také ve svých příkladech používá číslované zástupné symboly:

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

Zdá se, že rozhraní Go nepřekládá otazníky na číslované zástupné symboly tak, jak to dělá mnoho rozhraní, takže otazník se dostává až do databáze a všechno zamotává.

Měli byste být schopni přepnout na číslované zástupné symboly namísto otazníků:

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



  1. SQL SERVER – Trik – Spouštění SSMS s jiným účtem Windows

  2. Jak změnit národní prostředí při formátování čísel v PostgreSQL

  3. Jak nainstalovat PostgreSQL na macOS

  4. Kumulativní součet za sadu řádků v mysql