MySQL проблема с информацией_schema.tables - PullRequest
2 голосов
/ 03 июля 2010

-edit2- 3 часа спустя и все еще имеют ту же проблему. Я использую архивный пакет noinstall. -edit- может быть, кто-то может сказать мне лучший способ проверить, существует ли таблица?

У меня есть функция в моей библиотеке, чтобы проверить, существует ли таблица, которую я спрашивал, как это сделать в прошлом.

Я удалил свою базу данных и создал ее снова. Мой код не создал таблицы должным образом. После отладки я решил написать ниже.

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)

Ответы [ 2 ]

6 голосов
/ 13 июля 2010

Похоже, вам нужно использовать команду FLUSH TABLES для INFORMATION_SCHEMA.TABLES для отображения существующих таблиц.

Справка:

0 голосов
/ 03 июля 2010

Хммм ... Результаты стабильны?Может быть какая-то ожидающая транзакция .. Что показано

show tables like '%'

Также это может быть проблема с физическими файлами.Папка для mydb существует?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...