我有一个名为apsc
的数据库,如果我在其上运行SHOW TABLES;
,则会产生以下结果:
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)
但是,如果我运行SELECT * FROM aps_application
,我会得到这个:
mysql> SELECT * FROM aps_application;
ERROR 1146 (42S02): Table 'apsc.aps_application' doesn't exist
在我的/var/lib/mysql/apsc/
目录中有一堆.frm文件让我相信这些表是InnoDB。但是,如果它们只是在/var/lib/mysql/apsc/ibdata1
中的数据/日志文件中损坏或丢失,它们应显示为table in use
或不显示,因为我最近遇到了其他InnoDB表的问题。
我相信这些表是Plesk的一部分,因为我在某些时候被数据库文件覆盖并收到有关缺少视图aps_application的错误。 Plesk现在工作正常,所以我怀疑桌子是否腐败。
此外,SHOW CREATE TABLE aps_application
和SHOW CREATE VIEW aps_application
均以与select相同的错误失败。
编辑:我以root身份登录并拥有完全权限。要检查这一点,我切换了表格,SELECT就像魅力一样。此外,如果我在phpMyAdmin并选择此数据库,它将显示0表,除非我运行SHOW TABLES;在SQL选项卡中;
答案 0 :(得分:2)
答案 1 :(得分:1)
我有类似的问题。就我而言,它是区分大小写的。 select * from users
与select * from USERS
不同。所以也许你可以尝试使用大写的表名或用它创建的大小写。
答案 2 :(得分:0)
原来他们不是桌子,我从来没有弄清楚它们是什么:(