2011-07-18 7 views
6

Mam bazę danych o nazwie apsc a jeśli biegnę SHOW TABLES; na nim, to są wyniki:SQL SHOW TABELE wymienia kilka stolików, ale nie można wybrać z nich (Nie ma takiego stołu)

mysql> show tables; 
+------------------------------------+ 
| Tables_in_apsc      | 
+------------------------------------+ 
| aps_application     | 
| aps_application_backup    | 
| aps_application_resource   | 
| aps_package      | 
| aps_package_configuration   | 
| aps_package_global_setting   | 
| aps_package_resource_configuration | 
| aps_package_resource_setting  | 
| aps_package_series     | 
| aps_package_service    | 
| aps_registry_object    | 
| aps_registry_object_setting  | 
| aps_registry_object_tag   | 
| aps_resource      | 
| aps_resource_backup    | 
| aps_resource_requirement   | 
| aps_resource_requirement_backup | 
| aps_settings_sequenses    | 
+------------------------------------+ 
18 rows in set (0.00 sec) 

Jednakże, jeśli biegnę SELECT * FROM aps_application uzyskać to:

mysql> SELECT * FROM aps_application; 
ERROR 1146 (42S02): Table 'apsc.aps_application' doesn't exist 

W moim katalogu /var/lib/mysql/apsc/ są pęczek plików .frm która prowadzi mnie do przypuszczenia te tabele są InnoDB. Jednakże, jeśli były one po prostu uszkodzone lub brakujące w plikach danych/dzienników w /var/lib/mysql/apsc/ibdata1, powinny pojawić się jako table in use lub co nie, ponieważ miałem ostatnio ten problem z innymi tabelami InnoDB.

Uważam, że te tabele są częścią Plesk, ponieważ zostały nadpisane przez pliki baz danych w pewnym momencie i otrzymałem błędy dotyczące brakującego widoku aps_application. Plesk działa teraz dobrze, więc wątpię, by stół był uszkodzony.

Również, SHOW CREATE TABLE aps_application i SHOW CREATE VIEW aps_application oba kończą się niepowodzeniem z tym samym błędem, co select.

Edytuj: Jestem zalogowany jako root z pełnymi uprawnieniami. Aby to sprawdzić zamieniłem tabele, a SELECT działał jak czar. Ponadto, jeśli jestem w phpMyAdmin i wybieram tę bazę danych, pokazuje ona 0 tabel, chyba że uruchomię SHOW TABLES; w zakładce SQL;

+0

Prawdopodobnie nie masz żadnych uprawnień SELECT –

+0

Mam uprawnienia SELECT. Pierwsza rzecz, którą sprawdziłem. –

Odpowiedz

0

Okazuje się, że nie były stoły, a ja nigdy nie zorientowali się, jakie są :(

2

ok, stab w ciemności tutaj, ale co, jeśli w pełni zakwalifikować nazwę tabeli? również spróbuj zmienić nazwę tabeli, wstawiając "_" za nazwą i sprawdź, czy możesz ją wybrać.

1

miałem podobny problem. W moim przypadku był to przypadek czułości. select * from users różni się od select * from USERS. Więc może możesz spróbować użyć nazwy tabeli wielkimi literami lub obudowy, w której został utworzony.

Powiązane problemy