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

MySQL:एक सूची के साथ एक चर सेट करें

MySQL में वेरिएबल्स के लिए एक सिंगल, सिंपल वैल्यू, आमतौर पर एक स्ट्रिंग, नंबर या बूलियन की आवश्यकता होती है। आप क्या कर सकते हैं, इस मामले में, अपनी बिक्री आईडी को GROUP_CONCAT() के माध्यम से रूट करना है , जो सभी बिक्री आईडी की अल्पविराम से अलग की गई सूची लौटाएगा (कुछ सीमाओं के साथ - यदि आपके पास बहुत सारी बिक्री आईडी हैं और आप उन्हें बिल्कुल भी फ़िल्टर नहीं कर सकते हैं तो आपको कुछ कॉन्फ़िगरेशन सेटिंग्स को समायोजित करने की आवश्यकता हो सकती है), और फिर एक <कोड करें>FIND_IN_SET() , जो अल्पविराम से अलग की गई सूची में किसी मान की जांच करता है। छोटे सेट के लिए कुछ इस तरह काम करेगा:

SET @list = (SELECT GROUP_CONCAT(ID) FROM Sales);
UPDATE items SET aValue = X WHERE FIND_IN_SET(salesID, @list) > 0;
DELETE FROM SalesMessages WHERE FIND_IN_SET(salesId, @list) > 0;

आप पूरी तरह से एक जॉइन के माध्यम से वैरिएबल क्रिएशन को बायपास भी कर सकते हैं, जो तेज होगा, और GROUP_CONCAT() पर लंबाई सीमा के आसपास पहुंच जाएगा। :

UPDATE items as i INNER JOIN Sales as s ON s.ID = i.salesID SET i.aValue = X;
DELETE sm FROM SalesMessages as sm INNER JOIN Sales as s ON s.ID = sm.salesID;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक पेरकोना सर्वर को एक हाइब्रिड क्लाउड पर तैनात करना

  2. उपयोगकर्ता द्वारा जेनरेट किए गए SQL-regex में SQL इंजेक्शन से बचना

  3. Python का उपयोग करके BibTex फ़ाइल को डेटाबेस प्रविष्टियों में बदलें

  4. क्या आपको MySQL में तालिका नामों के रूप में संख्याओं का उपयोग करने की अनुमति है?

  5. PostgreSQL GROUP BY MySQL से अलग है?