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

MYSQL अद्यतन सेट एक ही कॉलम पर लेकिन कई WHERE क्लॉज के साथ

कुछ इस तरह आपके काम आना चाहिए:

UPDATE CustomerDetails_COPY
    SET Category_ID = CASE Category_ID
        WHEN 2 THEN 10 
        WHEN 3 THEN 9
        WHEN 4 THEN 12
        WHEN 5 THEN 11
    END
WHERE Category_ID IN (2,3,4,5)

वैकल्पिक रूप से, जैसा कि साइमन ने सुझाव दिया था, आप दो बार मानों को दर्ज करने से बचाने के लिए ऐसा कर सकते हैं:

UPDATE CustomerDetails_COPY
    SET Category_ID = CASE Category_ID
        WHEN 2 THEN 10 
        WHEN 3 THEN 9
        WHEN 4 THEN 12
        WHEN 5 THEN 11
        ELSE Category_ID
    END

स्रोत:http://www.karlrixon.co.uk/writing/update-multiple-rows-with-different-values-and-a-single-sql-query/



  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. SQLSTATE [42000]:सिंटैक्स त्रुटि या पहुँच उल्लंघन:1064 आपको अपने SQL सिंटैक्स — PHP — PDO में त्रुटि है

  3. टेक्स्ट फ़ाइल से mysql डेटाबेस में डेटा कैसे आयात करें

  4. जावास्क्रिप्ट और पीएचपी उलटी गिनती टाइमर जो सभी के लिए समान प्रदर्शित करता है

  5. कॉलम नाम में स्ट्रिंग का गतिशील रूपांतरण। माई एसक्यूएल