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

कर्सर.execute(im_entry.test (+entrym+) VALUES ('+p+');)

डिफ़ॉल्ट रूप से, psycopg2 आपके लिए स्वचालित रूप से लेनदेन शुरू करता है, जिसका अर्थ है कि आपको इसे प्रतिबद्ध करने के लिए कहना होगा। ध्यान दें कि commit connection . की एक विधि है , नहीं cursor

conn = psycopg2.connection('...')
cur = conn.cursor()
cur.execute("...")
conn.commit()

आशय यह है कि आप एक ही लेन-देन में कई कथनों को एक साथ समूहित कर सकते हैं, इसलिए अन्य प्रश्नों में आधे-अधूरे परिवर्तन नहीं, बल्कि प्रदर्शन कारणों से भी दिखाई देंगे।

यह भी ध्यान रखें कि स्ट्रिंग्स को एक साथ जोड़ने के बजाय आपको हमेशा प्लेसहोल्डर का उपयोग करना चाहिए।
उदा.:

cur.execute("INSERT INTO im_entry.test (colname) VALUES (%s)", [p])

अन्यथा आप SQL इंजेक्शन हमलों को संभव बनाने का जोखिम उठाते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL स्ट्रीमिंग बनाम तार्किक प्रतिकृति – तुलना

  2. कई तालिकाओं में से एक के लिए विदेशी कुंजी?

  3. पोस्टग्रेएसक्यूएल प्रतिकृति सेटअप और रखरखाव Ansible का उपयोग कर

  4. Ubuntu 18.04 पर PostgreSQL स्थापित करें

  5. कमांड लाइन से PostgreSQL क्वेरी चलाएँ