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

sqlalchemy में एक से अधिक स्तंभों के साथ किसी अन्य तालिका से एक तालिका अद्यतन कर रहा है

मुझे नहीं लगता कि आप कर सकते हैं। इस प्रकार, यह वास्तव में एक उत्तर नहीं है, लेकिन यह एक टिप्पणी के लिए बहुत लंबा है।

आप आसानी से 2 कॉलम के साथ अपनी क्वेरी लिख सकते हैं (मुझे लगता है कि आप इसे पहले से ही जानते थे):

select_query = select([table2.c.col1, table2.c.col2]).where(table1.c.key == table2.c.key)

और बाद में आप with_only_columns() . विधि का उपयोग कर सकते हैं , देखें api :

In[52]: print(table.update().values(col1 = select_query.with_only_columns([table2.c.col1]), col2 = select_query.with_only_columns([table2.c.col2])))
UPDATE table SET a=(SELECT tweet.id 
FROM tweet 
WHERE tweet.id IS NOT NULL), b=(SELECT tweet.user_id 
FROM tweet 
WHERE tweet.id IS NOT NULL)

लेकिन जैसा कि आप अपडेट स्टेटमेंट से देखते हैं, आप प्रभावी रूप से दो चयन कर रहे होंगे। (क्षमा करें, मैंने आपके उदाहरण के लिए आउटपुट को पूरी तरह से अनुकूलित नहीं किया, लेकिन मुझे यकीन है कि आपको यह विचार मिल गया है)।

मुझे यकीन नहीं है कि, जैसा कि आप कहते हैं, MySQL इसे केवल एक प्रश्न बनाने के लिए पर्याप्त स्मार्ट होगा। मुझे भी ऐसा ही लगता है। आशा है कि यह वैसे भी मदद करता है।




  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. mysql सॉर्टिंग और रैंकिंग स्टेटमेंट

  3. सबसे तेज़ यादृच्छिक चयन जहाँ स्तंभ X Y (NULL) है

  4. स्थानीय होस्ट पर PHP फ़ाइल से MySQL डेटाबेस तक पहुंचना

  5. MySQL के बारे में शीर्ष 10 रोचक तथ्य और टिप्स