PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

panik:sql:diharapkan 1 argumen tujuan di Pindai, bukan golang, pq, sql

Kueri mengembalikan satu bidang per baris. Kode sedang memindai tiga. Mungkin Anda menginginkan sesuatu seperti:

err := db.QueryRow("SELECT data->>'id', data->>'type', data->>'title' FROM message WHERE data->>'id'=$1", id).Scan(m.Id, m.Type, m.Title)

Juga, berikan pointer ke nilai:

err := db.QueryRow("SELECT data->>'id', data->>'type', data->>'title' FROM message WHERE data->>'id'=$1", id).Scan(&m.Id, &m.Type, &m.Title)

Opsi lainnya adalah mengambil data sebagai satu bidang dan mendekode hasilnya dengan paket encoding/json.

var p []byte
err := db.QueryRow("SELECT data FROM message WHERE data->>'id'=$1", id).Scan(&p)
if err != nil {
    // handle error
}
var m Message
err := json.Unmarshal(p, &m)
if err != nil {
    // handle error
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostGIS, Apakah mungkin untuk membuat Poligon dari beberapa Titik

  2. PostgreSQL:KUNCI ASING/ON DELETE CASCADE

  3. tidak ada entri pg_hba.conf untuk host

  4. Pesan string varchar sebagai numerik

  5. Temukan kalimat dengan dua kata yang saling berdekatan di Pg