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

mysql:सबक्वेरी के साथ अपडेट करें,

अगर आप data में सभी पंक्तियों को अपडेट करना चाहते हैं टेबल, आप कुछ इस तरह कर सकते हैं:

UPDATE data
  LEFT
  JOIN node
    ON node.title = data.name
   SET data.id = node.nid

नोट:

यदि node में एक से अधिक पंक्तियाँ हैं title . के लिए समान मान के साथ , जो एक name . से मेल खाता है data में , यह अनिश्चित है कि उनमें से कौन सी पंक्ति nid . का मान है से सौंपा जाएगा।

अगर name . के मान हैं data . में तालिका जो node . में नहीं पाई जाती है तालिका (title . में कॉलम), फिर एक NULL मान id . को असाइन किया जाएगा कॉलम।

क्वेरी में कुछ बदलाव इस व्यवहार को संशोधित कर सकते हैं।

सबक्वायरी का उपयोग करके इसे पूरा करना संभव है, लेकिन मैं सिर्फ एक जॉइन ऑपरेशन का उपयोग करूंगा। मुझे लगता है कि आप इस तरह एक सहसंबद्ध उपश्रेणी का उपयोग कर सकते हैं:

UPDATE data
   SET data.id = ( SELECT node.nid
                     FROM node
                    WHERE node.title = data.name
                    ORDER BY node.nid
                    LIMIT 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 कनेक्टर्स और लाइसेंसिंग

  2. MySQL में पिवट टेबल प्रश्नों को स्वचालित कैसे करें

  3. डेटाबेस मेटा डेटा कैसे प्राप्त करें

  4. MYSQL क्वेरी से कॉलम के औसत की गणना करें

  5. mysql डेटाटाइप केवल महीने और साल स्टोर करने के लिए