被MySQL信息_schema.tables info迷惑

被MySQL信息_schema.tables info迷惑,mysql,myisam,information-schema,Mysql,Myisam,Information Schema,由于未知原因,“information_schema.tables”的信息与实际表不匹配: 首先,从信息\u schema.tables中查找表名,有一个结果; 然后,从表名中选择*显示表不存在/(ㄒoㄒ)/~~ 我尝试创建一个同名的新表(MyISAM引擎),它创建OK! 然后,从信息_schema.tables中查找表名,结果有两个! 并从表名中选择*显示空集,这是正常的 直到现在,桌子还可以使用,但不能完全放下。 如果删除表格,则返回“第一个” 如下图所示: 我在网上搜索了很长一段时间。但

由于未知原因,“information_schema.tables”的信息与实际表不匹配:

首先,从信息\u schema.tables中查找表名,有一个结果; 然后,从表名中选择*显示表不存在/(ㄒoㄒ)/~~

我尝试创建一个同名的新表(MyISAM引擎),它创建OK! 然后,从信息_schema.tables中查找表名,结果有两个! 并从表名中选择*显示空集,这是正常的

直到现在,桌子还可以使用,但不能完全放下。 如果删除表格,则返回“第一个”

如下图所示:


我在网上搜索了很长一段时间。但是没有用。请帮助或尝试给出一些如何实现这一点的想法……

图像显示我没有任何问题。当您运行此操作时:

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE 
TABLE_NAME = 'report_instance_performance_20160614
并获得一个结果,您可能会在运行该查询的不同架构中获得该名称的表的结果。运行该查询以查看是否有错误会更有帮助:

SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE
TABLE_NAME = 'report_instance_performance_20160614'
我断言该表存在于另一个模式中,但不是从中运行查询的模式,这是因为当您尝试并从中选择
时,您得到的
不存在
错误

接下来,当您创建该表的一个新实例,然后运行
信息\u SCHEMA.TABLES
查询时,您将得到两个结果,因为您现在在当前架构中创建了一个具有该名称的表。如果该表在当前架构中存在,您将得到一个错误,即在这进一步支持了我的断言,即
report\u instance\u performance\u 20160614
存在于不同的模式中


最后,由于表格是新创建的,而且在从表格中选择之前,您没有在表格中插入任何内容,因此表格将为空是完全正常的。

您可以尝试直接在问题中插入图像,不是每个人都遵循链接。。谢谢您的建议,但我没有足够的声誉离子直接插入图像(我想是的)/(ㄒoㄒ)/~~ @StefanHegnyYes…你是对的。还有另一个模式…非常感谢!我对这个问题感到非常抱歉,因为我对MySQL的知识有限,对“INFORMATION_schema.TABLES”的理解还不够透彻…你可以将答案标记为正确,然后帮助其他来看这个问题的人:)