PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

hoảng:sql:mong đợi 1 đối số đích trong Quét, không phải golang, pq, sql

Truy vấn trả về một trường cho mỗi hàng. Mã đang quét cho ba. Có lẽ bạn muốn một cái gì đó như:

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

Ngoài ra, chuyển con trỏ đến các giá trị:

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

Một tùy chọn khác là tìm nạp dữ liệu dưới dạng một trường duy nhất và giải mã kết quả bằng gói 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. Rails phương thức không xác định cho ActiveRecord_Associations_CollectionProxy

  2. Cách liệt kê các bảng bị ảnh hưởng bởi xóa theo tầng

  3. Tổng hợp kết nối Postgresql ở Erlang

  4. Cách kết nối postgresql trong hibernate.cfg.xml

  5. Lưu trữ đầu ra của truy vấn đã chọn trong một mảng trong postgres