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

एक MySQL तालिका को दूसरे के मानों के साथ अपडेट करें

UPDATE tobeupdated
INNER JOIN original ON (tobeupdated.value = original.value)
SET tobeupdated.id = original.id

उसे यह करना चाहिए, और वास्तव में यह वही कर रहा है जो आपका है। हालांकि, मैं कई 'WHERE' स्थितियों के बजाय जुड़ने के लिए 'जॉइन' सिंटैक्स पसंद करता हूं, मुझे लगता है कि इसे पढ़ना आसान है

जहां तक ​​धीमी गति से चलने की बात है, तो टेबल कितनी बड़ी हैं? आपके पास tobeupdated.value . पर अनुक्रमणिका होनी चाहिए और original.value

संपादित करें:हम क्वेरी को सरल भी कर सकते हैं

UPDATE tobeupdated
INNER JOIN original USING (value)
SET tobeupdated.id = original.id

USING शॉर्टहैंड तब होता है जब जॉइन की दोनों टेबलों का नाम key . एक जैसा होता है जैसे id . यानी एक इक्वी-जॉइन - http://en.wikipedia.org/ wiki/Join_(SQL)#Equi-join



  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 8 का विन्यास

  3. MySQL डेटाबेस में लिंक की गई सूची लाई जा रही है

  4. डेटाबेस व्यवस्थापन के लिए MySQL बैकअप और पुनर्स्थापना आदेश

  5. MySQL कॉलम को AUTO_INCREMENT में बदलें