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

एक चर स्तंभ नाम के साथ SQL तक पहुँचने के लिए पायथन का उपयोग करना

समस्या %s . के उपयोग की संभावना है कॉलम नाम के लिए। इसका अर्थ है SQL ड्राइवर उद्धरण सहित, इसे प्रक्षेपित करते समय उस चर से बचने की कोशिश करेंगे, जो कि कॉलम नाम, तालिका नाम इत्यादि जैसी चीज़ों के लिए आप नहीं चाहते हैं।

मान . का उपयोग करते समय में SELECT , WHERE , आदि तो आप %s . का उपयोग करना चाहते हैं एसक्यूएल इंजेक्शन को रोकने के लिए और अन्य बातों के अलावा, उद्धरण सक्षम करें।

यहां, आप केवल शुद्ध पायथन का उपयोग करके इंटरपोलेट करना चाहते हैं। इसका मतलब यह भी है कि निष्पादन विधि में कोई बाध्यकारी टपल पास नहीं हुआ है।

def findmin(column):
    cur = db.cursor()
    sql = "SELECT MIN({0}) FROM table".format(column)
    cur.execute(sql)
    mintup = cur.fetchone()

SQL फ़ेल्ड SQL को काम करते हुए दिखा रहा है:

http://sqlfiddle.com/#!2/e70a41/1




  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 8 पूर्णांक लंबाई को अनदेखा कर रहा है

  2. Node.js mysql क्वेरी सिंटैक्स समस्याएँ अद्यतन करें जहाँ

  3. MySQL/PHP हमेशा सामान्य कॉलम के बिना टेबल में शामिल होना

  4. तालिका प्राप्त करना त्रुटि मौजूद नहीं है, लेकिन तालिका मौजूद है (ActiveRecord ::StatementInvalid Mysql2 ::त्रुटि:तालिका मौजूद नहीं है)

  5. 500 आंतरिक सर्वर त्रुटि?