Магия. Почему в MySQL базе таблицы нет, а выборку по ней можно делать?

Это просто какая-то магия.

Суть дела: Купил недавно digitalocean vps за 5$. Поставил php+mysql, создал базу. Раньше в базе была таблица, к которой я обращался. Таблицу потом удалил, но php скрипт, который вытягивал данные с неё остался. В общем, запускаю свой php скрипт, а он мне показывает данные со старой таблицы, которой просто нет.
Я тут подумал, наверное кэш браузера. Все почистил. Открываю - php вытягивает данные с дропнутой таблицы.
Фишка в том, что таблицы физически нет на винте, делаю новые запросы к таблице, которой нет - он мне выводит данные. Я подумал, что-то не то с браузером и открыл это дело в другом браузере - то же самое.

Ок, делаю запрос через PHP:
$status = mysql_fetch_assoc(mysql_query("CHECK TABLE posts"));
var_dump($status['Msg_text']);
//  'Msg_text' => string 'Table 'mydb.posts' doesn't exist' (length=33)

Следом за этим делаю новый уникальный запрос к таблице - также данные выводятся.

Но что интересно: когда я обращаюсь к таблице просто "select * from posts" - то вывод данных идет.
А когда обращаюсь через БД "select * from mydb.posts" - вывода данных нет.

Я балдею от происходящего. Никогда ещё такого за мои 10 лет в web-прогинге не было.
Вообще можно сказать, что плевать на это и делать дальше, но не могу понять как так то... Самому интересно.

У кого были такие глюки?)
  • Вопрос задан
  • 319 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
может одноименная вьюха есть?
Ответ написан
rdifb0
@rdifb0
Программист, реалист
Попробуйте SHOW TABLE STATUS FROM `db_name`;
Ответ написан
woonem
@woonem
а вы про cache слышали?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы