"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन से मेरी MySQL क्वेरीज़ असंगत परिणाम क्यों दे रही हैं?

पायथन से मेरी MySQL क्वेरीज़ असंगत परिणाम क्यों दे रही हैं?

2024-11-24 को प्रकाशित
ब्राउज़ करें:656

Why Are My MySQL Queries from Python Returning Inconsistent Results?

पायथन यील्डिंग विसंगतियों से MySQL क्वेरीज़

आपकी क्वेरी संभवतः सबसे अद्यतित डेटा पुनर्प्राप्त नहीं कर रही है क्योंकि आप प्रतिबद्ध नहीं हैं डेटाबेस में परिवर्तन. डिफ़ॉल्ट रूप से, MySQL अलगाव स्तर को "दोहराए जाने योग्य पढ़ने" पर सेट करता है, जिसका अर्थ है कि उसी लेनदेन के भीतर आने वाली क्वेरी लेनदेन के दौरान किए गए किसी भी बदलाव के बजाय डेटा के प्रारंभिक स्नैपशॉट को देखती हैं।

यह सुनिश्चित करने के लिए कि आपका डेटा चालू है -आज तक, आपको प्रत्येक क्वेरी के बाद कनेक्शन प्रतिबद्ध करना होगा। यह वर्तमान लेनदेन को पूरा करता है और डेटाबेस से नवीनतम परिवर्तन लाने के लिए अगले लेनदेन को तैयार करता है।

यहां आवश्यक प्रतिबद्धता के साथ आपके कोड का एक अद्यतन संस्करण है:

# Main loop
while True:

    # SQL query
    sql = "SELECT * FROM table"

    # Read the database, store as a dictionary
    mycursor = mydb.cursor(dictionary=True)
    mycursor.execute(sql)

    # Store data in rows
    myresult = mycursor.fetchall()

    # Transfer data into list
    for row in myresult:
        myList[int(row["rowID"])] = (row["a"], row["b"], row["c"])

        print(myList[int(row["rowID"])])

    # Commit changes!
    mydb.commit()
    print("---")
    sleep(0.1)

इस संशोधन के साथ, आपका कोड अब प्रत्येक क्वेरी लूप के दौरान डेटाबेस से नवीनतम डेटा पुनर्प्राप्त करेगा।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3