mysql的信息_schema.tables有问题
-编辑2-3小时后,仍然有相同的问题。我正在使用noinstall归档包。 -编辑-也许有人能告诉我一个更好的方法来检查表是否存在 我的lib中有一个函数来检查是否存在一个表,这是我过去问过的 我删除了我的数据库并再次创建了它。我的代码没有正确创建表。调试后,我决定写以下内容mysql的信息_schema.tables有问题,mysql,sql,Mysql,Sql,-编辑2-3小时后,仍然有相同的问题。我正在使用noinstall归档包。 -编辑-也许有人能告诉我一个更好的方法来检查表是否存在 我的lib中有一个函数来检查是否存在一个表,这是我过去问过的 我删除了我的数据库并再次创建了它。我的代码没有正确创建表。调试后,我决定写以下内容 mysql> SELECT table_schema, table_name FROM information_schema.tables WHERE tabl e_schema = 'mydb' AND table
mysql> SELECT table_schema, table_name FROM information_schema.tables WHERE tabl
e_schema = 'mydb' AND table_name='ApprovePost';
+--------------+-------------+
| table_schema | table_name |
+--------------+-------------+
| mydb | ApprovePost |
+--------------+-------------+
1 row in set (0.00 sec)
奇怪的。。。mydb被删除并再次创建(我写了drop database mydb;
和create database mydb;
。它应该消失了吗?)。让我们看看存在什么
mysql> SELECT table_schema, table_name FROM information_schema.tables WHERE tabl
e_schema = 'mydb';
Empty set (0.00 sec)
我不仅不知道为什么第一个语句显示的表破坏了我的代码,我也不知道为什么它没有显示任何表(在那个数据库中)
注意:数据库都应该是innodb。另外,这是一个新的windows安装,我可能配置了一些错误
额外的古怪
mysql> drop database mydb;
ERROR 1008 (HY000): Can't drop database 'mydb'; database doesn't exist
mysql> SELECT table_schema, table_name FROM information_schema.tables WHERE tabl
e_schema = 'mydb';
Empty set (0.00 sec)
mysql> SELECT table_schema, table_name FROM information_schema.tables WHERE tabl
e_schema = 'mydb' AND table_name='ApprovePost';
+--------------+-------------+
| table_schema | table_name |
+--------------+-------------+
| mydb | ApprovePost |
+--------------+-------------+
1 row in set (0.00 sec)
嗯。。。
结果是否稳定?可能是一些待处理的事务。。
图中显示了什么
show tables like '%'
此外,它可能是物理文件的问题。
mydb的文件夹是否存在?看起来您需要使用
刷新表
命令获取SCHEMA.TABLES的信息以反映现有表
参考:
FLUSH TABLES
命令获取信息\u SCHEMA.TABLES以反映现有的表:谢谢OMG Ponies。成功了!为什么这不是一个答案!;):D