Ошибка? # 1146 - Таблица "xxx.xxxxx" не существует - PullRequest
30 голосов
/ 14 июня 2011

Я использую Windows XP. Я создаю таблицу в phpMyAdmin с помощью встроенной функции создания таблицы, имя моей базы данных ddd.

Генерирует следующий код:

CREATE TABLE  `ddd`.`mwrevision` (

`asd` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`sddd` INT NOT NULL
) ENGINE = INNODB;

и появляется следующая ошибка:

MySQL said:     
#1146 - Table 'ddd.mwrevision' doesn't exist 

В чем может быть проблема?

Ответы [ 18 ]

27 голосов
/ 07 декабря 2011

У меня тоже была такая же проблема в прошлом.Все произошло после перемещения файлов базы данных на новое место и после обновления сервера MySQL.Все таблицы с движком InnoDB исчезли из моей базы данных.Я пытался воссоздать их, но mysql говорил мне 1146: Table 'xxx' doesn't exist все время, пока я не воссоздал свою базу данных и перезапустил службу mysql.

Я думаю, что необходимо прочитать о двоичных файлах таблиц InnoDB.

11 голосов
/ 24 января 2012

У меня была такая же проблема, и я не могу получить хороший совет по этому поводу через Интернет, поэтому я поделился этим для вас и для всех, кто нуждается.

В моей ситуации я копирую базу данных (все файлы: frm, myd) в папку data в папке данных MySQL (используя Wamp дома).Все было в порядке, пока я не хочу создать таблицу и иметь ошибку #1146 Table '...' doesn't exist!.

Я использую Wamp 2.1 с MySQL версии 5.5.16.

Мое решение:

  1. Экспортировать базу данных в файл;

  2. проверить, действительно ли экспортированный файл исправен !!;

  3. удалить базу данныхгде у меня есть проблемы;

  4. создать новую базу данных с тем же именем, что и последнее;

  5. импортировать файл в базу данных.

ДЛЯ МЕНЯ ПРОБЛЕМА РЕШЕНА.Теперь я могу создавать таблицы снова без ошибок.

5 голосов
/ 02 ноября 2014

Перезапуск MySQL работает нормально для меня.

4 голосов
/ 21 мая 2015

В моем случае я выполнил эту команду, даже если таблица не была видна в PhpMyAdmin:

DROP TABLE mytable

затем

CREATE TABLE....

работал на меня!

3 голосов
/ 10 мая 2013

У меня была такая же проблема. Я попытался создать таблицу в MySQL и получил ту же ошибку. Я перезапустил сервер MySQL и выполнил команду и смог создать / перенастроить таблицу после перезапуска.

3 голосов
/ 21 ноября 2012

Проверить имена файлов.
Вам может понадобиться создать новую базу данных в phpmyadmin, которая соответствует базе данных, которую вы пытаетесь импортировать.

1 голос
/ 18 августа 2016

Как упомянуто выше pprakash , копирование файлов table.frm И файла ibdata1 мне помогло. (Я бы только прокомментировал этот комментарий, но это требование SO на 50 баллов означает, что я должен предоставить решение, даже если это просто перефразировка существующего ... странно.)

Короче говоря:

  1. Закройте текстовый клиент, выделенный вашим проводником БД (например, Workbench).
  2. Остановите службу MySQL (хост Windows).
  3. Сделайте надежную копию практически всего!
  4. Сохраните копию файла (ов) таблицы (например, mytable.frm ) в папку данных схемы (например, MySQL Server / data / {yourschema}).
  5. Сохраните копию файла ibdata1 в папке данных (т. Е. MySQL Server / data).
  6. Перезапустите службу MySQL.
  7. Убедитесь, что таблицы теперь доступны, доступны для запросов и т. Д. В клиенте вашего обозревателя БД.

После этого все было хорошо. (Не забудьте сделать резервную копию, если у вас все получится!)

1 голос
/ 06 апреля 2015

Я столкнулся с той же проблемой сегодня.Я пытался создать таблицу users, и мне было предложено ERROR 1146 (42S02): Table users doesn't exist, что не имело никакого смысла, потому что я просто пытался создать таблицу !!

Затем я попытался удалить таблицунабрав DROP TABLE users, зная, что он потерпит неудачу, потому что он не существует, и я получил ошибку, сказав Unknown table users.После получения этой ошибки я снова попытался создать таблицу, и волшебным образом она успешно создала таблицу!

Моя интуиция заключается в том, что я, вероятно, создал эту таблицу раньше, и она не была полностью очищена каким-либо образом.Явно говоря DROP TABLE мне удалось как-то сбросить внутреннее состояние?Но это только мое предположение.

Короче, попробуйте DROP, какую бы таблицу вы ни создавали, и СОЗДАТЬ ее снова.

1 голос
/ 12 июня 2013

Сегодня я столкнулся с той же проблемой.Я был в очень сложной ситуации, но по какому идентификатору я создал таблицу с другим именем, например (модуль-мастер не создавал, я создаю модуль-мастер1), а после создания таблицы я просто переименовал таблицу.

0 голосов
/ 02 августа 2016

У меня была эта проблема из-за неработающего триггера. Работал после удаления триггера.

...