Ошибка 1146 mysql как исправить
Перейти к содержимому

Ошибка 1146 mysql как исправить

  • автор:

ошибка #1146 — Как создать запрашиваемую таблицу

Приветствую!
Помогите разобраться
при обращении к базам в phpMyAdmin возникает ошибка:
————————————————————————
SQL запрос:
SELECT MAX(version) FROM ‘bd_centraln’. ‘pma__tracking’ WHERE ‘db_name’=’bd_isait’ AND ‘table_name’=’wp_commentmeta’

Предполагаю, что причина возникновения — некорректное удаление базы данных ‘bd_centraln’ и других файлов этого сайта: сначала удалила файлы через проводник ,
а потом попробовала удалить ненужную БД в phpMyAdmin.
После этого, при обращении к другим БД все время возникает подобная ошибка.
‘bd_centraln’ — эта база не нужна

Понимаю, что налажала.
Как исправить и восстановить нормальную работу?

Рабочий черновик

На Cenos 5 работает mysql-5.1.58. При попытке дать команду «flush privileges» вылезала следующая ошибка:

mysql> flush privileges;
ERROR 1146 (42S02): Table ‘mysql.servers’ doesn’t exist

В базе «mysql» не было таблицы «servers».

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+—————————+
| Tables_in_mysql |
+—————————+
| columns_priv |
| db |
| func |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| proc |
| procs_priv |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+—————————+
17 rows in set (0.01 sec)

Ошибка? # 1146 — Таблица «xxx.xxxxx» не существует

Я использую 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 

В чем может быть проблема?
Shaheer 14 июнь 2011, в 12:51
Поделиться
попробуйте создать простую таблицу с одним столбцом и без primay / key / constraint
Ravi Parekh 14 июнь 2011, в 10:46

@Ravi, я попробовал, но без помощи !, вот код: CREATE TABLE ddd . mwrevision` ( nnn INT NOT NULL) ENGINE = INNODB; и та же ошибка

Shaheer 14 июнь 2011, в 10:49
для пожарного запроса, что приложение / cmd / shell / browser / WB использует?
Ravi Parekh 14 июнь 2011, в 10:54
phpmyadmin, Windows XP, Chrome, я должен сказать что-нибудь еще?
Shaheer 14 июнь 2011, в 10:57
из cmd / shell попробуйте create database a; CREATE TABLE a.mwrevision (asd INT );
Ravi Parekh 14 июнь 2011, в 11:00

Вы убедились, что у вас есть необходимые права доступа к этой базе данных? Я могу создать таблицу (хотя имя базы данных не DDD)

Reddy 14 июнь 2011, в 11:29

я вошел в систему как root и использую одну и ту же учетную запись для всего, впервые сталкиваясь с этим, @Ravi, я не знаю, как использовать mysql promt, поэтому я использовал phpmyadmin для создания БД и добавления таблицы и ее работал!

Shaheer 14 июнь 2011, в 11:33
запустить -> cmd -> просто перейдите в% mysql% / bin и введите как я отвечу
Ravi Parekh 14 июнь 2011, в 11:36
Можете ли вы попробовать убрать назад галочки (`)?
Reddy 14 июнь 2011, в 11:37
Показать ещё 7 комментариев
Поделиться:
phpmyadmin
mysql-error-1146

18 ответов

Лучший ответ

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

Мне кажется, что нужно читать бинарные файлы InnoDB.

sempasha 07 дек. 2011, в 04:49
Поделиться

моя проблема была похожа на вас, но она была немного другой, раскрывающийся список таблиц phpmyadmin (который отображается слева) показывал мне 11 таблиц, в то время как с правой стороны были видны только 10 таблиц, я не знаю, в чем фактически была проблема быть багом с phpmyadmin или багом с mysql, но в любом случае я решил проблему давно, но используя указанный вами метод. поэтому отметьте ваш ответ как выбранный 🙂

Shaheer 22 дек. 2011, в 05:57

Ключевая часть здесь, похоже, является последним предложением — воссоздайте свою базу данных и перезапустите mysql.

Caspar Harmer 11 апр. 2013, в 23:12
перезапустите mysql решил мою проблему. благодарю вас.
apis17 27 окт. 2015, в 04:44
Показать ещё 1 комментарий

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

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

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

  • Экспорт базы данных в файл;
  • проверить, действительно ли экспортированный файл в порядке!
  • отбросить базу данных, где есть проблемы;
  • создать новую базу данных с тем же именем, что и последняя, ​​
  • импортируйте файл в базу данных.

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

carlos 24 янв. 2012, в 07:12
Поделиться

Скопировав frm, myd myi файлы, вы скопировали только схему базы данных. Фактические данные ibdata1 файле ibdata1 в случае таблиц INNODB. Если вы скопировали ibdata1 и ib_logfile? файлы это бы сработало.

Prakash 10 дек. 2012, в 13:37

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

DROP TABLE mytable

Работал для меня!

Jim 007 21 май 2015, в 10:56
Поделиться
ЭТО должно быть ответом.
Jared Dunham 30 июль 2015, в 14:57

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

Muhammad Usman 02 нояб. 2014, в 18:56
Поделиться
помог мне тоже
hypery2k 01 авг. 2015, в 16:23

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

thekosmix 10 май 2013, в 12:19
Поделиться

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

blarg 21 нояб. 2012, в 15:59
Поделиться
Имена файлов вообще не имеют значения.
matthias krull 21 нояб. 2012, в 15:49
проблема уже решена, все равно спасибо
Shaheer 22 нояб. 2012, в 06:14
@Shaheer Shaheer Решено для вас, но как насчет всех остальных?
Chris Harrison 10 март 2013, в 03:30
@Chris Крис, проверь ответ, который я пометил как выбранный 🙂
Shaheer 12 март 2013, в 05:31
Показать ещё 2 комментария

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

  • Закройте выделенный клиентом клиент-проводник DB (например, Workbench).
  • Остановить службу MySQL (хост Windows).
  • Сделайте безопасную копию практически всего!
  • Сохраните копию файлов таблиц (например, mytable.frm) в папку данных схемы (например, MySQL Server/data/).
  • Сохраните копию файла ibdata1 в папке с данными (например, MySQL Server/data).
  • Перезапустите службу MySQL.
  • Проверьте, что таблицы теперь доступны, доступны для запросов и т.д. в вашем клиенте проводника DB.

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

SteveCinq 18 авг. 2016, в 01:05
Поделиться

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

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

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

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

Xin 06 апр. 2015, в 18:15
Поделиться

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

Vipin Gurjar 12 июнь 2013, в 13:07
Поделиться

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

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

Kahitarich 16 март 2018, в 17:40
Поделиться

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

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

hiropon 09 авг. 2017, в 06:29
Поделиться

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

DauleDK 02 авг. 2016, в 13:22
Поделиться

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

Ayman Al-Absi 31 окт. 2014, в 23:38
Поделиться

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

ALTER TABLE mydatabase.mytable DISCARD TABLESPACE; 

Скопировать файл mytable.idb

ALTER TABLE mydatabase.mytable IMPORT TABLESPACE; 

l0pan 13 апр. 2014, в 21:57
Поделиться
Не работает Error Code: 1146. Table ‘wp_commentmeta’ doesn’t exist
user2473015 18 нояб. 2015, в 06:40

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

  • удаление одного из файлов models.py
  • исправление ссылок на удаленный файл
  • затем запустите manage.py syncdb

Amey 11 нояб. 2013, в 07:31
Поделиться

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

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

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

vlad 23 авг. 2013, в 09:53
Поделиться

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

mysql_upgrade -u user -ppassword

Ravi Parekh 14 июнь 2011, в 12:01
Поделиться
убедитесь, что вы находитесь на локальном хосте, это попытается обновить
Ravi Parekh 14 июнь 2011, в 11:37
Я только что получил много ошибок. Таблица «xxx.u8nxi_updates» не существует
McVitas 13 нояб. 2017, в 19:33

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

Oswald 14 июнь 2011, в 11:04
Поделиться
Я думаю, что это только из-за анонимности.
Gumbo 14 июнь 2011, в 10:33
это не сработало, я попробовал sddd для имени второго столбца, но все тот же эффект
Shaheer 14 июнь 2011, в 10:34
@gumbo gumbo, анонимизация? что это?
Shaheer 14 июнь 2011, в 10:34
Вы создали базу данных / схему DDD?
Tommy 14 июнь 2011, в 10:36

@user503148: user503148: Анонимность — это процесс анонимности данных. Эти имена базы данных / таблицы / строки не те, которые вы на самом деле используете, не так ли?

Gumbo 14 июнь 2011, в 10:37

@user503148 user503148 Анонимность — это когда вы заменяете определенные строки в коде-нарушителе при публикации в Интернете, чтобы не раскрывать информацию, относящуюся к безопасности. Имена пользователей и пароли, которые жестко запрограммированы в исходном коде, являются обычными кандидатами на это.

Oswald 14 июнь 2011, в 10:41
@Tommy Tommy, да, база данных существует и содержит 46 таблиц
Shaheer 14 июнь 2011, в 10:41

@Oswald Освальд, нет, я ничего не заменил, я копирую вставленный «точный» тот же код, даже имя таблицы, и база данных также имеет то же имя, «ddd», я создал его для использования в режиме «временно» и после того, как я закончу с это, я удалю это.

Shaheer 14 июнь 2011, в 10:43
Показать ещё 6 комментариев

Ещё вопросы

  • 0 Выполнить очередь jQuery случайное количество раз
  • 0 проблемы с извлечением простых данных JSON через getJSON
  • 1 График зависимостей. Параллельная обработка
  • 1 Как мы проверяем, совместимо ли значение объекта с полем примитивного типа в Java
  • 1 Счетчик кликов мыши tkinter не выйдет из моего цикла обратного отсчета
  • 0 Как использовать дополнительные значения в маршрутах Laravel?
  • 1 Большие проблемы с памятью матрицы
  • 1 Новичок Рок, Бумага, Ножницы Игровой Синтаксис Python
  • 0 Заменить данные в MySQL на PHP, если NULL
  • 0 Jquery slidetoogle несколько делений
  • 1 C # / Excel — Получить имя ячейки с OleDb
  • 0 Mvc: вызов метода контроллера и использование значения, выбранного из выпадающего списка в этом методе
  • 0 Структура индекса для вторичного поиска по ключевым словам
  • 0 C ++ SFML 2 Текст не обновляется должным образом
  • 0 MySQL не использовал индекс в SUM с запросом GROUP BY
  • 0 Как я могу получить и установить выбранный переключатель во внешнем HTML-контенте с помощью ActionScript?
  • 1 Установленные флажки в списке через запятую со словом «и» в конце на C #
  • 1 Python: причина ошибки типа с неправильным числом аргументов
  • 0 Когда флажок установлен, отключите текстовые поля
  • 1 Чтение из списка массивов и сравнение с входной строкой
  • 2 Как установить ADB-соединения для NOX-плеера в Mac OS
  • 0 Создание функции jquery для анимации непрозрачности изображения не работает
  • 0 Ошибка «AddItem» API Ebay Trading: метод оплаты отсутствует
  • 0 Преобразование массива CSV
  • 1 Как сказать Python HTMLParser остановиться
  • 0 AngularJS, $ cookieStore.put не является функцией
  • 1 Добавить значения в массив в цикле
  • 0 отправлять http запросы, поддерживать сессию: C / C ++ с cURL (камера Axus)
  • 0 Простой калькулятор HTML / JavaScript не работает?
  • 0 Каковы некоторые популярные базы данных на основе строк и столбцов?
  • 1 Динамическое вычисление SVG Path для полного круга с помощью JavaScript
  • 0 Fstream не открывает файл
  • 1 Как сгруппировать по дате с пандами?
  • 0 Найти / заменить массив () с регулярным выражением
  • 1 Xmpp OutgoingFileTransfer останавливается со статусом = отказано
  • 0 Href (переход на локацию на той же странице) не работает в сочетании с отображением скрытого div
  • 1 Модификация Outlook «щелкнуть правой кнопкой мыши по контакту»
  • 0 Изображения появляются в Chrome, но не в IE
  • 1 Tokenize.detect_encoding (readline) есть только в python3?
  • 0 Как прочитать значения динамической HTML-таблицы из текстового файла?
  • 1 Страница входа с использованием Mvvmcross
  • 0 Сортировка списка объектов по полю даты в Java
  • 0 Не отображаются средние значения для пользователей с более чем одним экземпляром
  • 1 JPA Criteria API, использующий ISNULL в порядке следования
  • 1 В Joda-time 2.1 имеет значение long, переданное в DateTimeZOne.getStandardOffset?
  • 1 Элемент управления WinForms WebBrowser игнорирует реферер
  • 1 System.ServiceModel.ProtocolException: удаленный сервер возвратил неожиданный ответ: (413) слишком сложный объект запроса
  • 1 MsSql server 2008 r2 Синхронизация данных
  • 0 Класс для подключения к БД, как использовать
  • 0 как разбирать в каком то улье?

Ошибка #1146. Как исправить? Есть решение

При этом в карточке редактирования самого товара переключится на «новый раздел» можно, но тогда уже не дает зайти в саму вкладку товары. Пока опять не зайду в редактор товара и не переключу на старый режим.

Ошибка стала возникать после обновления до версии 2.7.1.727

12 комментариев

+2

Михаил Ушенин 30 ноября 2022 09:15 #

Выполните SQL-запросы в phpMyAdmin на хостинге для вашей базы данных:

CREATE TABLE `shop_presentation` ( `id` int(10) UNSIGNED NOT NULL, `parent_id` int(10) UNSIGNED DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `creator_contact_id` int(11) NOT NULL, `use_datetime` datetime DEFAULT NULL, `sort_column_id` int(10) UNSIGNED DEFAULT NULL, `sort` int(11) NOT NULL DEFAULT '0', `sort_order` enum('asc','desc') NOT NULL DEFAULT 'asc', `view` enum('table','table_extended','thumbs') NOT NULL DEFAULT 'table', `rows_on_page` int(11) NOT NULL DEFAULT '30', `browser` varchar(64) DEFAULT NULL, `filter_id` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ALTER TABLE `shop_presentation` ADD PRIMARY KEY (`id`), ADD KEY `creator_contact_id` (`creator_contact_id`);

+1
Hiaolong 30 ноября 2022 13:10 #

Пустой результат

-1

replicant 30 ноября 2022 13:49 #

Вы же просто создали таблицу, которой не было, а затем сделали в ней индексы. Какие результаты ещё вы ожидали увидеть в phpmyadmin, выполняя такой запрос к базе данных? Если получилась новая пустая таблица, то это всё. Больше ничего этот запрос и не должен был делать.
Вы лучше повторите все старые действия, которые ранее приводили к ошибке, и расскажите изменилось ли что-то или всё осталось как было.

+1
Hiaolong 30 ноября 2022 18:09 #

Вроде ничего не изменилось

-1

replicant 30 ноября 2022 18:29 #

1364 — это не 1146. Уже определенно что-то изменилось. Может быть не установлен на вновь созданной таблице на колонке ID флаг AUTOINCREMENT. Надо поставить его через phpmyadmin. Полная картина запросов такая. У вас нет одного последнего запроса.

CREATE TABLE `shop_presentation` ( `id` int(10) UNSIGNED NOT NULL, `parent_id` int(10) UNSIGNED DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `creator_contact_id` int(11) NOT NULL, `use_datetime` datetime DEFAULT NULL, `sort_column_id` int(10) UNSIGNED DEFAULT NULL, `sort` int(11) NOT NULL DEFAULT 0, `sort_order` enum('asc','desc') NOT NULL DEFAULT 'asc', `view` enum('table','table_extended','thumbs') NOT NULL DEFAULT 'table', `rows_on_page` int(11) NOT NULL DEFAULT 30, `browser` varchar(64) DEFAULT NULL, `filter_id` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ALTER TABLE `shop_presentation` ADD PRIMARY KEY (`id`), ADD KEY `creator_contact_id` (`creator_contact_id`); ALTER TABLE `shop_presentation` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

В итоге вот такая должна получиться структура у этой таблицы. Флаг на колонку можно поставить через интерфейс управления базой данных (Действие — Изменить) или запросом (см. выше)

+1
Hiaolong 1 декабря 2022 00:33 #

таблица как у вас на скрине есть, вроде все на месте Теперь как Вы и писали ругается на отсутствие shop_presentation_columns так же 1146 ошибка Ее по тому же принципу создавать как и shop_presentation ? В плане SQL запрос?

-1

replicant 1 декабря 2022 13:12 #

Да, создаете эту таблицу вот такими тремя запросами

CREATE TABLE `shop_presentation_columns` ( `id` int(10) UNSIGNED NOT NULL, `presentation_id` int(10) UNSIGNED NOT NULL, `column_type` varchar(64) NOT NULL, `width` int(11) DEFAULT NULL, `data` text DEFAULT NULL, `sort` int(11) NOT NULL DEFAULT 0 ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ALTER TABLE `shop_presentation_columns` ADD PRIMARY KEY (`id`), ADD KEY `presentation_id` (`presentation_id`); ALTER TABLE `shop_presentation_columns` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

+1
Hiaolong 1 декабря 2022 20:26 #

И вновь ругается уже на Table . shop_filter’ doesn’t exist code 1146 (где троеточие там название аккаунта и сайта)

+1

Михаил Ушенин 2 декабря 2022 09:46 #

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *