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

पायथन चुनौतीपूर्ण स्ट्रिंग एन्कोडिंग

आपको .format() . का उपयोग नहीं करना चाहिए एक एसक्यूएल क्वेरी में मान शामिल करने के लिए। इसके बजाय sql पैरामीटर का उपयोग करें:

sql += " WHERE provider IN ({}) GROUP BY date ORDER BY date ASC".format(', '.join(['%s'] * len(providers)))

cursor.execute(sql, providers)

जहां providers मूल सूची है।

विचार in . के साथ SQL क्वेरी जेनरेट करना है आपकी सूची में प्रदाताओं की संख्या से मेल खाने वाले SQL पैरामीटर सिंटैक्स का उपयोग करके परीक्षण करें:WHERE provider in (%s, %s) ... दो-प्रदाता सूची के लिए। हां, MySQLdb 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. mySQL क्वेरी रिसोर्स आईडी #5 लौटा रही है

  2. mysql + अद्यतन शीर्ष n

  3. स्प्रिंग बूट कॉन्फ़िगरेशन में सही MySQL JDBC टाइमज़ोन कैसे सेट करें?

  4. लारवेल क्रिप्ट - मूल्यों की तुलना

  5. दूरस्थ सर्वर से स्थानीय कंप्यूटर पर mysql डेटाबेस की प्रतिलिपि बनाएँ