Bir MySQL kurulumunun datadirini değiştirdim ve biri hariç tüm üsler doğru şekilde taşındı. USE
Veritabanına bağlanabiliyorum . SHOW TABLES
ayrıca tüm tabloları doğru bir şekilde döndürür ve her tablonun dosyaları MySQL veri dizininde bulunur.
Ancak, SELECT
tablodan bir şey , tablo yok bir hata iletisi alıyorum. Yine de, aynı tabloyu SHOW TABLES
ifade ile gösterebildiğim için bu bir anlam ifade etmiyor .
Benim tahminim SHOW TABLES
dosya varlığını listeler ama bir dosyanın bozuk olup olmadığını kontrol etmez. Sonuç olarak, bu dosyaları listeleyebilirim ancak erişemiyorum.
Bununla birlikte, bu sadece bir tahmindir. Bunu daha önce hiç görmedim. Şimdi, veritabanını test için yeniden başlatamıyorum, ancak onu kullanan diğer tüm uygulamalar iyi çalışıyor. Ama bu sadece bir tahmin, bunu daha önce hiç görmedim.
Bunun neden olduğunu bilen var mı?
Misal:
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