यह एक पुराना प्रश्न है, लेकिन फिर भी मेरे पास वही बग है। ओपी ने एक अन्य थ्रेड में MySQL वर्कबेंच पर खोले गए बग का उल्लेख किया है (http://bugs.mysql.com/bug.php?id=69800 )।
डॉक्टर के अनुसार (https ://dev.mysql.com/doc/refman/5.7/hi/innodb-transaction-isolation-levels.html#isolevel_repeatable-read ), डिफॉल्ट आइसोलेशन लेवल रिपीटेबल-रीड है।
इसका मतलब यह है कि डेटाबेस का एक स्नैपशॉट लेनदेन के पहले पढ़ने पर बनाया जाता है। इस लेन-देन का हर दूसरा पढ़ा आपको स्नैपशॉट का डेटा दिखाएगा।
इसलिए आपको अगले पढ़ने पर एक नया स्नैपशॉट प्राप्त करने के लिए लेन-देन (प्रतिबद्ध या रोल-बैक) समाप्त करने की आवश्यकता है।
मेरे सहयोगी जिन्होंने ऑटोकॉमिट पर MySQL वर्कबेंच सेट किया है, उन्हें दोहराने योग्य-पढ़ने वाला व्यवहार नहीं दिखता है। हमें पता चला कि ऐसा इसलिए है क्योंकि प्रत्येक चयन के बाद, लेन-देन बंद हो जाता है और एक नया स्नैपशॉट बन जाता है।
इसलिए, चूंकि बग को अभी भी ठीक नहीं किया गया है, एक समाधान यह होगा:
- स्वचालित रूप से बनाए जाने वाले नए स्नैपशॉट के लिए ऑटोकॉमिट पर स्विच करें
- या एक नया स्नैपशॉट बनाने के लिए प्रत्येक चयन के बाद प्रतिबद्ध/रोलबैक करें