Ошибка? # 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 ]

0 голосов
/ 01 ноября 2014

У меня была такая же проблема.Это произошло после ошибки запуска Windows, кажется, некоторые файлы были повреждены из-за этого.Я снова импортировал БД из сохраненного скрипта, и он отлично работает.

0 голосов
/ 14 июня 2011

запустить из CMD &% path% = установить в mysql / bin

mysql_upgrade -u user -ppassword

0 голосов
/ 11 ноября 2013

Причина, по которой я столкнулся с этим, заключалась в том, что у меня было два файла "models.py", которые содержали немного разные поля. Я решил это:

  1. удаление одного из файлов models.py
  2. исправление ссылок на удаленный файл
  3. затем запустите manage.py syncdb
0 голосов
/ 23 августа 2013

Недавно у меня была такая же проблема, но на Linux Server.База данных была повреждена, и я восстановил ее из резервной копии, просто скопировав /var/lib/mysql/* (аналог папки mysql DATA в wamp).После восстановления я должен был создать новую таблицу и получил ошибку mysql # 1146.Я попытался перезапустить MySQL, и он сказал, что не может запуститься.Я проверил логи mysql и обнаружил, что у mysql просто нет прав доступа к файлам БД.Я проверил информацию о владельце / var / lib / mysql / * и получил 'myuser:myuser' (myuser - это я).Но это должно быть 'mysql:adm' (как и собственная машина разработчика), поэтому я сменил владельца на «mysql: adm».И после этого mysql запустился нормально, и я мог создавать таблицы или выполнять любые другие операции.

Поэтому после перемещения файлов базы данных или восстановления из резервных копий проверьте права доступа для mysql.

Надеюсь, это поможет...

0 голосов
/ 09 августа 2017

В моем случае, параметр MySQL;lower_case_table_names было настроено = 0.

Это приводит к тому, что запросы, связанные с использованием прописных букв, не будут работать.

0 голосов
/ 14 апреля 2014

Эта проблема возникла после копирования файла таблицы mytable.idb из другого места.Чтобы решить эту проблему, я сделал следующее:

ALTER TABLE mydatabase.mytable DISCARD TABLESPACE;

Скопируйте mytable.idb

ALTER TABLE mydatabase.mytable IMPORT TABLESPACE;

Перезапустите MySql

0 голосов
/ 16 марта 2018

Для меня это было имя таблицы в верхнем / нижнем регистре.Мне нужно было убедиться, что имя таблицы совпадает с запросом на удаление, таблица notifications не совпадает с Notifications.Я исправил это, сопоставив регистр имен таблиц с запросами и сообщениями MySQLWorkbench.

Что странно, так это то, что эта ошибка обнаружилась в сработавшем SQL-выражении.Не знаю, что вызвало эту чувствительность к регистру.Возможно автоматическое обновление AWS RDS.

0 голосов
/ 14 июня 2011

Имена столбцов в таблице должны быть уникальными.Вы не можете иметь два столбца с именем asd в одной таблице.

...