আমি একটি মাইএসকিউএল ইনস্টলেশনের ডেটাডির পরিবর্তন করেছি এবং একটি বেস বাদে সমস্ত ঘাঁটি সঠিকভাবে সরানো হয়েছে। আমি সংযোগ করতে পারি এবং USE
ডাটাবেস। SHOW TABLES
এছাড়াও আমাকে সমস্ত টেবিলগুলি সঠিকভাবে ফেরত দেয় এবং প্রতিটি সারণির ফাইলগুলি মাইএসকিউএল ডেটা ডিরেক্টরিতে বিদ্যমান।
যাইহোক, আমি যখন 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