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

IN क्लॉज और पैरामीटर के साथ MySQL गलत आउटपुट

पैरामीटर उस तरह काम नहीं करते; उन्हें पता नहीं है कि आप जो प्रदान करने का प्रयास कर रहे हैं वह अल्पविराम से अलग मूल्यों की सूची है। अगर आप ParamByName('WhatEver').AsString . सेट करते हैं या Value , ऐसा लगता है कि आपका मतलब एक उद्धृत स्ट्रिंग है जिसमें वह सब कुछ है जो उस पैरामीटर से संबंधित है। तो यह ठीक वही कर रहा है जो यह प्रतीत होता है - यह गुजर रहा है IN ('1, 2, 3') , इच्छित IN (1, 2, 3) . के बजाय ।

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेल 3 ऐप्स के लिए MySQL क्लस्टर (एनडीबी) बनाम MySQL प्रतिकृति (इनो डीबी):पेशेवर/विपक्ष?

  2. SQL क्वेरी में परिणामसेट का बाइट आकार कैसे प्राप्त करें?

  3. पायथन में mysql कनेक्टर का उपयोग करके डेटा डालना

  4. utf-8 बनाम latin1

  5. (शीर्ष 5) और (अन्य सभी) की संख्या के आधार पर समूह