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

psycopg का उपयोग करके डालने के लिए समस्या

INSERT कथन में अमान्य सिंटैक्स है। आपके द्वारा उल्लिखित लूप के अंदर कुछ गड़बड़ है।
आपको प्रश्न में लूप के लिए शामिल करना चाहिए।

<ब्लॉकक्वॉट>

"DUMMY1km" (डेटा) मानों में डालें ([[-3000 -3000 -3000 .....

एक मान्य कथन इस तरह दिख सकता है - मान लें कि आपका कॉलम integer[] . प्रकार का है .
... जिसे आपको प्रश्न में भी शामिल करना चाहिए।

INSERT INTO "DUMMY1km"(data) VALUES ('{-3000, -3000}'::int[])

या

INSERT INTO "DUMMY1km"(data) VALUES (ARRAY[-3000, -3000])  -- note the "ARRAY"

या 2-आयामी सरणी के लिए (त्रुटि संदेश में कुछ ऐसा ही दिखता है।):

INSERT INTO "DUMMY1km"(data) VALUES ('{{-3000, -3000}, {-3000, -3000}}'::int[])

या

INSERT INTO "DUMMY1km"(data) VALUES (ARRAY[[-3000, -3000],[-3000, -3000]])

मैनुअल में सरणी मान इनपुट पर अधिक।

एर्गो:

matData[i] में ARRAY[-3000, -3000] . शामिल होना चाहिए या [[-3000 -3000 -3000 ... के बजाय मान्य सिंटैक्स के अन्य सूचीबद्ध प्रकारों में से एक जो एक पूर्णांक सरणी के लिए मान्य नहीं है।

साइकोपग स्वचालित रूप से एक PostgreSQL सरणी . को रूपांतरित करता है एक पायथन सूची . में . INSERT का निर्माण करते समय, आपको सूची को वापस एक सरणी में बदलने की आवश्यकता होती है। मैं यहां से उद्धरण देता हूं:

Python lists are converted into PostgreSQL ARRAYs:

>>> cur.mogrify("SELECT %s;", ([10, 20, 30], ))
'SELECT ARRAY[10, 20, 30];'

<उप>अस्वीकरण:मैं PostgreSQL का विशेषज्ञ हूं, पायथन के साथ इतना नहीं। किसी ऐसे व्यक्ति के लिए जो पाइथन को मुझसे बेहतर जानता है, उसके अनुसार स्ट्रिंग को प्रारूपित करना आसान होना चाहिए। मुझे उपरोक्त उद्धरण वेब पर एक त्वरित शोध में मिला।




  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. PostgreSQL 11 - प्रक्रियाएं

  4. कैसे cbrt () PostgreSQL में काम करता है

  5. पैटर्न मिलान का उपयोग करने में त्रुटि PostgreSQL में किसी की तरह नहीं