यह मानते हुए कि आपका डेटाबेस डिफ़ॉल्ट सेटिंग्स के साथ चल रहा है, मुझे और अधिक आश्चर्य हुआ कि आपका SELECT कभी भी दो अलग-अलग मान देता है।
दस्तावेज यह कहता है
इसलिए, यदि डिफ़ॉल्ट REPEATABLE READ अलगाव स्तर प्रभाव में है, मैं उम्मीद करता हूं कि सभी प्रश्न पहली क्वेरी के समय डेटाबेस की स्थिति के अनुरूप डेटा लौटाएंगे।
हालांकि, ऐसा लगता है कि यह मदद कर सकता है
मुझे लगता है कि आपको कोशिश करनी चाहिए
$O_dbh->do('SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED');
कनेक्ट के तुरंत बाद, और देखें कि क्या यह आपके लिए चीजों को ठीक करता है।
हालांकि, आपको यह सुनिश्चित करना चाहिए कि disconnect डेटाबेस इस लेनदेन के बाद संभालता है या इसे पिछले अलगाव स्तर पर वापस कर देता है। अन्यथा आपको असंगत परिणाम मिलने लगेंगे।