आपको .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 पैरामीटर सिंटैक्स पुरानी शैली के पायथन स्वरूपण सिंटैक्स को प्रतिध्वनित करता है, लेकिन यह वही बात नहीं है।