У меня самая странная ошибка из всех.
Иногда при создании или изменении таблиц я получаю ошибку «таблица уже существует». Однако DROP TABLE возвращает «# 1051 - неизвестная таблица». Итак, у меня есть таблица, которую я не могу создать, не могу отбросить.
Когда я пытаюсь удалить базу данных, происходит сбой mysqld. Иногда помогает создать еще одну базу данных с другим именем, иногда - нет.
Я использую БД с ~ 50 таблицами, все InnoDB. Эта проблема возникает с разными таблицами.
Я испытал это в Windows, Fedora и Ubuntu, MySQL 5.1 и 5.5. Такое же поведение при использовании PDO, PHPMyAdmin или командной строки. Я использую MySQL Workbench для управления своей схемой - я видел некоторые связанные ошибки (конечные строки и прочее), однако ни одна из них не была актуальной для меня.
Нет, это не представление, это таблица. Все имена в нижнем регистре.
Я пробовал все, что мог в Google - стирать таблицы, перемещать файлы .frm из db в db, читать журнал mysql, ничего не помогало, кроме переустановки всей этой чертовой штуки.
«Показать таблицы» ничего не показывает, в «описании» таблицы говорится, что «таблица не существует», файла .frm нет, но «создать таблицу» все равно заканчивается ошибкой (как и «создать таблицу, если не существует») и удаление базы данных приводит к сбою mysql
Связанные, но бесполезные вопросы:
Редактировать:
mysql> use askyou;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> create table users_has_friends (id int primary key);
ERROR 1050 (42S01): Table '`askyou`.`users_has_friends`' already exists
mysql> drop table users_has_friends;
ERROR 1051 (42S02): Unknown table 'users_has_friends'
И все такое: таблица не существует, но не может быть создана;
mysql> drop database askyou;
ERROR 2013 (HY000): Lost connection to MySQL server during query
Смена имен, это не единственная таблица / база данных, с которой я столкнулся с проблемами
SHOW FULL TABLES IN askyou
и SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA LIKE 'askyou'
?