मैं एक एक कोड इस तरह है:Fetchall Python में केवल एक कॉलम लौट रहा है?
db = MySQLdb.connect(user='root', db='galaxy', passwd='devil', host='localhost')
cursor = db.cursor()
cursor.execute('SELECT username, password FROM galaxy_user')
names = [row[0] for row in cursor.fetchall()]
passw = [password[1] for password in cursor.fetchall()]
db.close()
समस्या मैं केवल या तो नाम का उपयोग या निम्न कोड से passw कर सकते हैं। इसके साथ ही मैं केवल उपयोगकर्ता नाम प्राप्त कर सकता हूं। मुझे पासव के लिए खाली सूची मिलती है। अब अगर मैं इसे इस तरह स्विच करता हूं:
passw = [row[1] for row in cursor.fetchall()]
names = [password[1] for password in cursor.fetchall()
मुझे पासव का मूल्य मिलता है लेकिन नाम खाली सूची है। क्या हो रहा है?
मुझे लगता है कि कुंजी है कि यहाँ '.fetchall()' के रूप में कर्सर iterable होना चाहिए लगता है थोड़ा निरर्थक है ... या तो, 'सूची (कर्सर)' या मुझे आपके 'dict (कर्सर) 'विचार पसंद है :) –
@ यूमिरो, मैंने अभी पायथन सीएक्स_ऑरेकल का उपयोग करके परीक्षण किया है: रिकॉर्ड्स = कर्सर.फेटचॉल() नाम = [रिकॉर्ड [0] रिकॉर्ड में रिकॉर्ड के लिए] passw = [रिकॉर्ड [1] रिकॉर्ड में रिकॉर्ड के लिए] और नाम कोई नहीं है। धन्यवाद – Frank