list_of_ids
का प्रयोग करें सीधे:
format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings,
tuple(list_of_ids))
इस तरह आप खुद को उद्धृत करने से बचते हैं, और सभी प्रकार के sql इंजेक्शन से बचते हैं।
ध्यान दें कि डेटा (list_of_ids
) सीधे MySQL के ड्राइवर पर जा रहा है, पैरामीटर के रूप में (क्वेरी टेक्स्ट में नहीं) इसलिए कोई इंजेक्शन नहीं है। आप किसी भी वर्ण को स्ट्रिंग में छोड़ सकते हैं, वर्णों को निकालने या उद्धृत करने की कोई आवश्यकता नहीं है।