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

Django से MySQL में DATE_FORMAT () को कॉल करना विफल रहता है

मेरा अनुमान है कि समस्या प्रतिशत चिह्न के साथ है (% ) क्वेरी टेक्स्ट में। (क्या यह Django में एक बाइंड वैरिएबल प्लेसहोल्डर नहीं है?) उदा। अगर हम एक बाइंड वेरिएबल का उपयोग करने जा रहे थे, तो क्या वह कुछ इस तरह नहीं दिखेगा?

SELECT 'foo' FROM DUAL WHERE 'a' = %(varname)s ;

मुझे लगता है कि शायद Django आपके SQL टेक्स्ट को स्कैन कर रहा है और %w . का सामना कर रहा है और उम्मीद है कि एक बाध्य चर होने के लिए। या तो वह, या यह एक sprintf चल रहा है स्टाइल फ़ंक्शन, और %w . का सामना करना पड़ रहा है और उस प्लेसहोल्डर को एक तर्क मान से बदलने की अपेक्षा कर रहा है।

(मैंने परीक्षण नहीं किया है, इसलिए यह सिर्फ एक विचार है, सिर्फ एक अनुमान है।)

वर्कअराउंड के अनुमान के रूप में, हो सकता है कि आप प्रतिशत संकेतों को दोगुना कर दें, वही हमें स्प्रिंटफ के माध्यम से% अक्षर मिलते हैं:

  query("SELECT ... ,'%%w') ...");

अगर वह काम नहीं करता है, तो शायद यह एक बैकस्लैश चरित्र है, वही हम नियमित अभिव्यक्ति में वर्णों से बचते हैं:

  query("SELECT ... ,'\%w') ...");

(या, आपको बैकस्लैश को दोगुना करने की आवश्यकता हो सकती है। ये अन्य सॉफ़्टवेयर द्वारा उपयोग किए जाने वाले सम्मेलनों के आधार पर केवल अनुमान हैं।)



  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 पर NOT IN का विकल्प

  2. साइट के स्रोत कोड से सभी विकल्प मान प्राप्त करने के लिए PHP और RegEx का उपयोग करना

  3. MySql ऑफ़सेट क्वेरी काम नहीं कर रही है

  4. MySQL पर SQL इंजेक्शन सुरक्षा के लिए सबसे अच्छा समाधान क्या है?

  5. पीएचपी पीडीओ MySQL स्क्रॉल करने योग्य कर्सर काम नहीं करता