Ошибка 1146 что это
Перейти к содержимому

Ошибка 1146 что это

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

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

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

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

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

19 ответов

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

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

Если вы изменяете mysql bin-> data dir, и после этого импорт вашей базы данных не будет работать

поэтому вам нужно закрыть wamp и после этого запустить wamp

Теперь импорт базы данных будет работать нормально

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

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

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

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

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

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

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

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

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

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

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

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

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

mysql_upgrade -u user -ppassword

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

Как упоминалось выше в pprakash , у меня сработало копирование файлов table.frm И ibdata1 .

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

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

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

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

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

Короче говоря, попробуйте УДАЛИТЬ любую создаваемую таблицу и СОЗДАТЬ ее снова.

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

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

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

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

DROP TABLE mytable

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

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

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

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

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

Экспорт базы данных в файл;

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

отбросьте базу данных, в которой у меня есть проблемы;

создать новую базу данных с тем же именем, что и предыдущая;

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

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

MYSQL replication error 1146 – Easy way to fix it !

This is a generic error when we set up the MYSQL replication.

Also, the main reasons for the MYSQL replication error 1146 due to invalid MySQL queries or non-existing SQL queries.

At Bobcares, we often get requests to solve such MYSQL replication errors as part of our Server Management Services.

Today, let’s analyze the cause and see how our Support Team fix it for our customers.

What is MYSQL replication?

Normally, it is a process that enables data from one MySQL database server (the master) to copied automatically to one or more MySQL database servers (the slaves). However, general principles of setting up the MySQL master-slave replication on the same machine are the same for all operating systems.

It is simply copying data from one server to another server. So all the users can share the same data without any inconsistency.

The main Advantages of MySQL Replication includes,

  1. High Performance
  2. Backup and Security
  3. Remote Access

Reasons for MYSQL replication error 1146.

This is a generic error when we discover the slave MySQL server is having a problem replicating data from the master. The main reason for this error is due to invalid MySQL queries or non-existing mysql queries.

Recently one of our customers contacted us with this MYSQL error when he tried to set-up the MYSQL replication. Then he checked the slave status and returned the error code like this.

MYSQL replication error 1146

The above error message shows that the table “db3.table3” does not exist in the slave database. To fix this error, we just simply ignore this error and resume the replication.

How we fix the MYSQL replication error 1146.

So far, we discuss the MYSQL replication and reasons for the replication error 1146. Now let’s see how our Support Engineers fix this error for our customers.

Solution 1

To fix the replication error we follow the below steps.

1. First, we log into the MYSQL.

2. On the MySQL shell, we check the slave status.

The sample result as follows.

If anyone of the Slave_IO_Running or Slave_SQL_Running is set as NO, it means the replication is broken.

So, we start to repair the MYSQL replication.

3. For that, we stop the slave from replication, using the below command.

4. Next, we tell the slave to simply skip the invalid SQL query. So we use the below command.

This query tells the slave to skip one query (which is the invalid one that caused the replication to stop). If we like to skip two queries, we use the following code instead.

5. Again, we start the slave.

6. After that, we check if replication is working again.

Both Slave_IO_Running and Slave_SQL_Running are set to Yes now. And the replication is running without any error.

Then we leave the MySQL shell.

Solution 2

Recently another customer contacted us with the MYSQL replication error. He also tried to set up the MYSQL replication and returns the error as follows.

Next, he tried mysql_upgrade` and it looked already up to date, so he tried –force, which gave:

Then he checked the dB/mysql folder and found that the .frm and .ibd is already existing.

gtid_slave_pos.frm
gtid_slave_pos.ibd

Then we just removed the files and recreated the table, which solved the error.

1. So we go to the mysql folder and drop the following files using the command.

Also, to create the table we use the command:

2. Then, we stop and start the slave

This fixes the error.

[Need more assistance for MYSQL replication error 1146? We’ll help you]

Conclusion

In short, the main reasons for the MYSQL replication error 1146 is invalid MySQL queries or non-existing SQL queries. Today, we saw how our Support Engineers fix this error for our customers.

Related posts:

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

Что здесь не так? Запрос SQL дает мне ошибку 1146 [закрыто]

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

Хорошо, вот мой код

Может я где-то ошибаюсь, но не вижу этого

Привет Петр Стоянов

Можно было бы подумать, что сообщение «Таблица. не существует» является убедительным признаком того, что вы ошиблись при вводе имени таблицы? — Colin ‘t Hart

4 ответы

Я бы искал все экземпляры cutomer и заменить их customer .

Спасибо, действительно глупая ошибка невнимательности. Теперь все работает 🙂 — Петр Стоянов

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

Ваш адрес email не будет опубликован.