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

एक अजगर MySQLDB खंड में उपयोग के लिए एक सूची को फंसाना

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 के ड्राइवर पर जा रहा है, पैरामीटर के रूप में (क्वेरी टेक्स्ट में नहीं) इसलिए कोई इंजेक्शन नहीं है। आप किसी भी वर्ण को स्ट्रिंग में छोड़ सकते हैं, वर्णों को निकालने या उद्धृत करने की कोई आवश्यकता नहीं है।



  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 में एक बाधा का नाम कैसे खोजें

  2. mysql एक्सटेंशन को हटा दिया गया है और भविष्य में हटा दिया जाएगा:इसके बजाय mysqli या PDO का उपयोग करें

  3. MySQL:ALTER IGNORE TABLE अखंडता बाधा उल्लंघन देता है

  4. Neo4j - Cypher . का उपयोग करके एक नोड बनाएं

  5. MySQL डेटाबेस में सबसे बड़ी तालिका कैसे खोजें?