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

MySQL IN स्टेटमेंट के लिए PDO बाइंडिंग मान

यह वही है जो इस प्रश्न में पूछा गया था:क्या मैं किसी सरणी को IN() स्थिति से बाँध सकता हूँ?

इसका उत्तर यह था कि, in . में एक चर आकार की सूची के लिए खंड, आपको क्वेरी स्वयं बनानी होगी।

हालांकि, आप find_in_set , हालांकि बड़े डेटा सेट के लिए, इसका प्रदर्शन पर काफी प्रभाव पड़ेगा, क्योंकि तालिका के प्रत्येक मान को एक चार प्रकार में डालना होगा।

उदाहरण के लिए:

select users.id
from users
join products
on products.user_id = users.id
where find_in_set(cast(products.id as char), :products)

या, तीसरे विकल्प के रूप में, आप एक उपयोगकर्ता परिभाषित फ़ंक्शन बना सकते हैं जो आपके लिए अल्पविराम से अलग सूची को विभाजित करता है (cf. http://www.slickdev.com/2008/09/15/mysql-query-real-values-from-delimiter-separated-string-ids / ) यह शायद तीनों में से सबसे अच्छा विकल्प है, खासकर यदि आपके पास बहुत सारे प्रश्न हैं जो 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. Ubuntu 10.04 LTS (ल्यूसिड) पर MySQL रिलेशनल डेटाबेस का उपयोग करें

  2. मैं एक MySQL तालिका में कई पंक्तियों को कैसे सम्मिलित कर सकता हूं और नई आईडी वापस कर सकता हूं?

  3. कैसे mysql में अनुक्रमिक क्रमांकन में अंतराल खोजने के लिए?

  4. एलपीएडी () फ़ंक्शन MySQL में कैसे काम करता है

  5. T-SQL के WITH TIES के लिए MySQL का विकल्प