मैंने एक MySQL स्थापना के डेटाडेयर को बदल दिया और एक को छोड़कर सभी आधार सही ढंग से चले गए। मैं कनेक्ट कर सकता हूं और USE
डेटाबेस। SHOW TABLES
मुझे भी सभी तालिकाओं को सही ढंग से देता है, और प्रत्येक तालिका की फाइलें MySQL डेटा निर्देशिका पर मौजूद हैं।
हालाँकि, जब मैं SELECT
तालिका से कुछ करने की कोशिश करता हूं, तो मुझे एक त्रुटि संदेश मिलता है कि तालिका मौजूद नहीं है। फिर भी, इसका कोई मतलब नहीं है क्योंकि मैं SHOW TABLES
बयान के माध्यम से एक ही तालिका दिखाने में सक्षम था ।
मेरा अनुमान है कि SHOW TABLES
फ़ाइल अस्तित्व को सूचीबद्ध करती है लेकिन यह जाँच नहीं करती है कि फ़ाइल दूषित है या नहीं। नतीजतन, मैं उन फ़ाइलों को सूचीबद्ध कर सकता हूं लेकिन उन्हें एक्सेस नहीं कर सकता।
फिर भी, यह केवल एक अनुमान है। मैंने पहले इसे कभी नहीं देखा है। अब, मैं परीक्षण के लिए डेटाबेस को पुनः आरंभ नहीं कर सकता, लेकिन इसका उपयोग करने वाला प्रत्येक अन्य अनुप्रयोग ठीक चल रहा है। लेकिन यह सिर्फ एक अनुमान है, मैंने ऐसा पहले कभी नहीं देखा।
क्या किसी को पता है कि ये क्यों हो रहा है?
उदाहरण:
mysql> SHOW TABLES;
+-----------------------+
| Tables_in_database |
+-----------------------+
| TABLE_ONE |
| TABLE_TWO |
| TABLE_THREE |
+-----------------------+
mysql> SELECT * FROM TABLE_ONE;
ERROR 1146 (42S02): Table 'database.TABLE_ONE' doesn't exist