मैं समझता हूँ कि अजगर में एक एसक्यूएल क्वेरी फ़ॉर्मेट करने के लिए सही तरीका इस तरह है:पैरामीटरयुक्त एसक्यूएल क्वेरी को चर में कैसे डालें और फिर पायथन में निष्पादित करें?
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", var1, var2, var3)
इतना है कि यह एसक्यूएल इंजेक्शन से बचाता है। मेरा सवाल यह है कि यदि क्वेरी को चर में डालने का कोई तरीका है और फिर इसे निष्पादित करें? मैंने नीचे दिए गए उदाहरण की कोशिश की है लेकिन एक त्रुटि प्राप्त है। क्या इसे करना संभव है?
sql="INSERT INTO table VALUES (%s, %s, %s)", var1, var2, var3
cursor.execute(sql)
आपने '%' के बजाय '' 'का उपयोग क्यों किया? उदाहरण के लिए: 'sql_and_params =" टेबल वैल्यूज (% s,% s,% s) में% INSERT "% (var1, var2, var3)' – bzupnick
@bzupnick सरल स्ट्रिंग स्वरूपण ('%' ऑपरेटर) का उपयोग करके , या प्रतिस्थापन, संभावित रूप से एसक्यूएल इंजेक्शन की अनुमति देगा, यदि आवश्यक हो तो शाब्दिक को उद्धरण चिह्न जोड़ने में असफल होने का उल्लेख नहीं किया जाएगा। पैरामीटरेटेड क्वेरी स्वरूपित/प्रतिस्थापित प्रश्नों से अत्यधिक बेहतर हैं। –