PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

घबराहट:एसक्यूएल:स्कैन में अपेक्षित 1 गंतव्य तर्क, नहीं <संख्या> गोलंग, पीक्यू, एसक्यूएल

क्वेरी प्रति पंक्ति एक फ़ील्ड लौटाती है। कोड तीन के लिए स्कैन कर रहा है। शायद आप कुछ ऐसा चाहते हैं:

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

साथ ही, मानों को पॉइंटर्स पास करें:

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

एक अन्य विकल्प डेटा को एकल फ़ील्ड के रूप में लाना और परिणाम को एन्कोडिंग/जेसन पैकेज के साथ डिकोड करना है।

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. क्या Django में कर्सर खुले लेनदेन के अंदर चलते हैं?

  2. PostgreSQL के साथ कुछ यूनिकोड श्रेणी (जैसे सिरिलिक वर्ण) का उपयोग करके सभी पंक्तियों को खोजें?

  3. पोस्टग्रेज:स्ट्रिंग में एनटी कैरेक्टर तक टेक्स्ट निकालें

  4. RDBMS और ORDBMS के बीच अंतर

  5. किसी फ़ंक्शन से कोई क्वेरी लौटाएं?