Ошибка 1146 на сайте

0 / 0 / 0

Регистрация: 21.01.2014

Сообщений: 2

1

21.01.2014, 13:42. Показов 1498. Ответов 2


Студворк — интернет-сервис помощи студентам

Добрый день всем! Поможите кто чем можите чайнику — сайт перестал открываться, выдает ошибку The Error returned was:
Table ‘c381733_fresh.dle_vote’ doesn’t exist

Error Number:
1146
SELECT id, title, category, body, vote_num, start, end FROM dle_vote WHERE approve
Что с этим делать и откуда это взялось? Вроде ничего серьезного в системе управления не делал, почистил старые новости только и все…((



0



1 / 1 / 1

Регистрация: 15.12.2010

Сообщений: 48

22.01.2014, 01:13

2

В базе данных отсутствует таблица «dle_vote». Попробуй самостоятельно восстановить данную таблицу, или же если у тебя есть резервная копия, тогда просто восстанови БД с её помощью.



0



0 / 0 / 0

Регистрация: 21.01.2014

Сообщений: 2

22.01.2014, 08:31

 [ТС]

3

Обратился в техподдержку хостера-все восстановили молодцы! А за совет все равно спасибо!:-)



0



1

Собственно код ошибки:

Не поймем что за таблицу требует?

Возникает ошибка при попытке переключится на «новый раздел товаров»

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

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

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

  • популярные
  • новые


  • +2

    Выполните 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

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



      • -1

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

        Вы лучше повторите все старые действия, которые ранее приводили к ошибке, и расскажите изменилось ли что-то или всё осталось как было.



        • +1

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



          • -1

            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

              таблица как у вас на скрине есть, вроде все на месте

              Теперь как Вы и писали ругается на отсутствие shop_presentation_columns так же 1146 ошибка

              Ее по тому же принципу создавать как и  shop_presentation ? В плане SQL запрос?



              • -1

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

                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

                  И вновь ругается уже на

                  Table … shop_filter’ doesn’t exist code 1146

                  (где троеточие там название аккаунта и сайта)



                  • +1

                    Напишите нам в службу поддержки — изучим ситуацию подробнее и попробуем предложить решение.



                    • +1

                      Спасибо, тех поддержка базу поправили.



                    • -1

                      У вас нет целой россыпи таблиц. Надо чинить базу (восполнять потери). Возможно при обновлении не создались нужные таблицы, либо что-то ещё пошло не так.

                      Напишите в службу ТП. Они вам помогут сделать коррекцию базы и проверят правильность обновления.

                      Конечно можно тут на форуме и дальше продолжать до тех пор, пока всё не пройдет (сравнить структуры БД, найти недостающие таблицы, сравнить версии ПО и т.д., потому что сама по себе эта процедура не сложная), но обращение в ТП однозначно поможет вам сэкономить время.

                      В вашей ситуации специалист, имеющий доступ и должные навыки, быстрее всё починит без лишних слов.



                    • 0

                      И ещё, раз пошла такая пляска, то проверьте наличие таблицы shop_presentation_columns. Вдруг потом ещё и на неё ругаться будет, если её нет. По логике она должна быть тоже и, если что-то пошло не так у вас при обновлении, то её может не оказаться на месте.

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

                      Привет, столкнулся с похожей проблемой:
                      Fatal error: Uncaught exception ‘Exception’ with message ‘Error: Table ‘horecapack.oc_oct_faq’ doesn’t exist
                      Error No: 1146
                      SELECT COUNT(*) AS total FROM oc_oct_faq f LEFT JOIN oc_product_description pd ON (f.product_id = pd.product_id) WHERE pd.language_id = ‘1’ AND f.status = ‘0» in /var/www/horecapack/horecapack.com.ua/system/library/db/mysqli.php:40 Stack trace: #0 /var/www/horecapack/horecapack.com.ua/system/library/db.php(45): DBMySQLi->query(‘SELECT COUNT(*)…’) #1 /var/www/horecapack/horecapack.com.ua/admin/model/octemplates/faq/oct_product_faq.php(105): DB->query(‘SELECT COUNT(*)…’) #2 [internal function]: ModelOCTemplatesFaqOCTProductFaq->getTotalFaqs(Array) #3 /var/www/horecapack/storage/modification/system/engine/loader.php(248): call_user_func_array(Array, Array) #4 [internal function]: Loader->{closure}(Array, Array) #5 /var/www/horecapack/horecapack.com.ua/system/engine/proxy.php(47): call_user_func_array(Object(Closure), Array) #6 /var/www/horecapack/storage/modification/admin/controller/common/header.php(90): Proxy->__call(‘getTotalFaqs’, Array) #7 /var/www/horecapack/storage/modification/admin/controller/common/header.php(90): Proxy->getTotalFaqs(Array) #8 [internal function]: ControllerCommonHeader->index(Array) #9 /var/www/horecapack/storage/modification/system/engine/action.php(79): call_user_func_array(Array, Array) #10 /var/www/horecapack/storage/modification/system/engine/loader.php(48): Action->execute(Object(Registry), Array) #11 /var/www/horecapack/horecapack.com.ua/admin/controller/common/dashboard.php(85): Loader->controller(‘common/header’) #12 [internal function]: ControllerCommonDashboard->index() #13 /var/www/horecapack/storage/modification/system/engine/action.php(79): call_user_func_array(Array, Array) #14 /var/www/horecapack/horecapack.com.ua/admin/controller/startup/router.php(26): Action->execute(Object(Registry), Array) #15 [internal function]: ControllerStartupRouter->index() #16 /var/www/horecapack/storage/modification/system/engine/action.php(79): call_user_func_array(A in /var/www/horecapack/horecapack.com.ua/system/library/db/mysqli.php on line 40

                      Repair в БД не помог
                      в админку не могу зайти никак, наружка работает.
                      Так понимаю, что пропала таблица: horecapack.oc_oct_faq — как ее создать заново или добавить (бэкапов бд нет).
                      Впервые столкнулся с проблемой в этом направлении, буду благодарен за помощь

                      I am using windows XP. I am creating a table in phpMyAdmin using its built-in create table feature,
                      my database name is ddd.

                      It generates the following code:

                      CREATE TABLE  `ddd`.`mwrevision` (
                      
                      `asd` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
                      `sddd` INT NOT NULL
                      ) ENGINE = INNODB;
                      

                      and the following error shows up:

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

                      What might be the problem?

                      mins's user avatar

                      mins

                      6,24612 gold badges55 silver badges75 bronze badges

                      asked Jun 14, 2011 at 10:29

                      Shaheer's user avatar

                      9

                      I also had same problem in past. All had happend after moving database files to new location and after updating mysql server. All tables with InnoDB engine disappeared from my database. I was trying to recreate them, but mysql told me 1146: Table 'xxx' doesn't exist all the time until I had recreated my database and restarted mysql service.

                      I think there’s a need to read about InnoDB table binaries.

                      Rafael Barros's user avatar

                      answered Dec 7, 2011 at 4:43

                      sempasha's user avatar

                      sempashasempasha

                      6235 silver badges18 bronze badges

                      2

                      I had the same problem and can’t get a good tip for this over the web, so I shared this for you and for all who needs.

                      In my situation I copy a database (all files: frm, myd) to the data folder in MySQL data folder (using Wamp at home). All thing was OK until I want to create a table and have the error #1146 Table '...' doesn't exist!.

                      I use Wamp 2.1 with MySQL version 5.5.16.

                      My solution:

                      1. Export the database to file;

                      2. verify if exported file is really OK!!;

                      3. drop the database where I have issues;

                      4. create a new database with the same name that the last;

                      5. import the file to the database.

                      FOR ME IS PROBLEM SOLVED. Now I can create tables again without errors.

                      Rafael Barros's user avatar

                      answered Jan 24, 2012 at 6:30

                      carlos's user avatar

                      carloscarlos

                      1111 silver badge2 bronze badges

                      1

                      Restarting MySQL works fine for me.

                      answered Nov 2, 2014 at 18:24

                      Muhammad Usman's user avatar

                      Muhammad UsmanMuhammad Usman

                      10.3k22 gold badges72 silver badges107 bronze badges

                      0

                      In my case I ran this command even if the table wasn’t visible in PhpMyAdmin :

                      DROP TABLE mytable

                      then

                      CREATE TABLE....

                      Worked for me !

                      answered May 21, 2015 at 9:22

                      Jim 007's user avatar

                      Jim 007Jim 007

                      3101 gold badge3 silver badges8 bronze badges

                      1

                      Check filenames.

                      You might need to create a new database in phpmyadmin that matches the database you’re trying to import.

                      Mayur Birari's user avatar

                      Mayur Birari

                      5,8378 gold badges34 silver badges61 bronze badges

                      answered Nov 21, 2012 at 15:23

                      blarg's user avatar

                      blargblarg

                      3,75311 gold badges41 silver badges69 bronze badges

                      2

                      I had the same problem. I tried to create a table in mysql and got the same error. I restarted mysql server and ran the command and was able to create/migrate table after restating.

                      answered May 10, 2013 at 11:10

                      thekosmix's user avatar

                      thekosmixthekosmix

                      1,70320 silver badges34 bronze badges

                      Today i was facing same problem. I was in very difficult situation but what id did i create a table with diffrent name e.g (modulemaster was not creating then i create modulemaster1) and after creating table i just do the rename table.

                      answered Jun 12, 2013 at 11:57

                      Vipin Gurjar's user avatar

                      I encountered the same problem today. I was trying to create a table users, and was prompted that ERROR 1146 (42S02): Table users doesn't exist, which did not make any sense, because I was just trying to create the table!!

                      I then tried to drop the table by typing DROP TABLE users, knowing it would fail because it did not exist, and I got an error, saying Unknown table users. After getting this error, I tried to create the table again, and magically, it successfully created the table!

                      My intuition is that I probably created this table before and it was not completely cleared somehow. By explicitly saying DROP TABLE I managed to reset the internal state somehow? But that is just my guess.

                      In short, try DROP whatever table you are creating, and CREATE it again.

                      answered Apr 6, 2015 at 17:51

                      Xin's user avatar

                      XinXin

                      4,3125 gold badges18 silver badges15 bronze badges

                      As pprakash mentions above, copying the table.frm files AND the ibdata1 file was what worked for me.

                      In short:

                      1. Shut your DB explorer client (e.g. Workbench).
                      2. Stop the MySQL service (Windows host).
                      3. Make a safe copy of virtually everything!
                      4. Save a copy of the table file(s) (eg mytable.frm) to the schema data folder (e.g. MySQL Server/data/{yourschema}).
                      5. Save a copy of the ibdata1 file to the data folder (i.e., MySQL Server/data).
                      6. Restart the MySQL service.
                      7. Check that the tables are now accessible, queryable, etc. in your DB explorer client.

                      After that, all was well. (Don’t forget to backup if you have success!)

                      Community's user avatar

                      answered Aug 17, 2016 at 23:46

                      SteveCinq's user avatar

                      SteveCinqSteveCinq

                      1,9001 gold badge16 silver badges22 bronze badges

                      Column names must be unique in the table. You cannot have two columns named asd in the same table.

                      answered Jun 14, 2011 at 10:32

                      Oswald's user avatar

                      OswaldOswald

                      31.1k3 gold badges43 silver badges68 bronze badges

                      8

                      run from CMD & %path%=set to mysql/bin

                      mysql_upgrade -u user -ppassword

                      answered Jun 14, 2011 at 11:04

                      Ravi Parekh's user avatar

                      Ravi ParekhRavi Parekh

                      5,1249 gold badges45 silver badges58 bronze badges

                      2

                      Recently I had same problem, but on Linux Server. Database was crashed, and I recovered it from backup, based on simply copying /var/lib/mysql/* (analog mysql DATA folder in wamp). After recovery I had to create new table and got mysql error #1146. I tried to restart mysql, and it said it could not start. I checked mysql logs, and found that mysql simply had no access rigths to its DB files. I checked owner info of /var/lib/mysql/*, and got 'myuser:myuser' (myuser is me). But it should be 'mysql:adm' (so is own developer machine), so I changed owner to ‘mysql:adm’. And after this mysql started normally, and I could create tables, or do any other operations.

                      So after moving database files or restoring from backups check access rigths for mysql.

                      Hope this helps…

                      thvwns's user avatar

                      thvwns

                      3,5483 gold badges41 silver badges57 bronze badges

                      answered Aug 23, 2013 at 8:32

                      vlad's user avatar

                      The reason I was facing this was because I had two «models.py» files which contained slightly different fields.
                      I resolved it by:

                      1. deleting one of the models.py files
                      2. correcting references to the deleted file
                      3. then running manage.py syncdb

                      answered Nov 11, 2013 at 7:02

                      Amey's user avatar

                      I got this issue after copying mytable.idb table file from another location. To fix this problem I did the following:

                      ALTER TABLE mydatabase.mytable DISCARD TABLESPACE;
                      

                      Copy mytable.idb

                      ALTER TABLE mydatabase.mytable IMPORT TABLESPACE;
                      

                      Restart MySql

                      answered Apr 13, 2014 at 20:34

                      l0pan's user avatar

                      l0panl0pan

                      4667 silver badges11 bronze badges

                      1

                      I had the same issue. It happened after windows start up error, it seems some files got corrupted due to this. I did import the DB again from the saved script and it works fine.

                      answered Oct 31, 2014 at 22:51

                      Ayman Al-Absi's user avatar

                      I had this problem because of a trigger not working..Worked after I deleted the trigger.

                      answered Aug 2, 2016 at 12:21

                      DauleDK's user avatar

                      DauleDKDauleDK

                      3,19310 gold badges54 silver badges95 bronze badges

                      In my case, MySQL’s parameter; lower_case_table_names was configured = 0.

                      It causes queries related with using upper cases will not work.

                      answered Aug 9, 2017 at 6:25

                      hiropon's user avatar

                      hiroponhiropon

                      1,6452 gold badges18 silver badges41 bronze badges

                      For me it was a table name upper/lower case issue. I had to make sure that table case name matched in a delete query, table notifications was not the same as Notifications. I fixed it by matching table name case with query and what MySQLWorkbench reported.

                      What is wierd is that this error showed up in a worked sql statement. Don’t know what caused this case sensitivity. Perhaps an auto AWS RDS update.

                      answered Mar 16, 2018 at 15:43

                      Kahitarich's user avatar

                      KahitarichKahitarich

                      3852 silver badges7 bronze badges

                      if you are modifying mysql bin->data dir’s and after that, your database import will not works

                      so you need to close wamp and after that start wamp

                      now database import will work fine

                      answered Jan 15, 2021 at 19:03

                      Hassan Saeed's user avatar

                      Hassan SaeedHassan Saeed

                      6,2261 gold badge37 silver badges37 bronze badges

                      Make sure you do not have a trigger that is trying to do something with the table mentioned in the error. I was receiving Error Code: 1146. Table 'exampledb.sys_diagnotics' doesn't exist on insert queries to another table in my production database. I exported the table schemas of my production database then searched for instances of exampledb.sys_diagnotics the schema SQL and found a debugging insert statement I had added to a table trigger in my development environment but this debug statement had been copied to production. The exampledb.sys_diagnotics table was not present on my production database. The error was resolved by removing the debug statement in my table trigger.

                      answered May 4, 2022 at 19:33

                      w. Patrick Gale's user avatar

                      0 Пользователей и 1 Гость просматривают эту тему.

                      • 6 Ответов
                      • 7362 Просмотров

                      Ни чего на сайте не делал.

                      Сегодня выдает:

                      ОШИБКА: 1146
                      Table ‘u368000_site.bel_users’ doesn’t exist SQL=SELECT id, password FROM bel_users WHERE username=’Beladmin’

                      Из-за чего может быть?

                      « Последнее редактирование: 10.04.2013, 10:46:35 от b2z »

                      Записан

                      английским языком написано

                      Table ‘u368000_site.bel_users’ doesn’t exist

                      = «U368000_site.bel_users» Таблица не существует

                      надеюсь бекап БД есть.
                      неделю назад имело место быть подобное сообщение.
                      оказалось, что при установкеJoomla БД создавалась в InnoDB, а хостинг не поддерживает такой вариант. В итоге все таблицы в иннобд просто перестали читаться(закомментировались). Пришлось брать бекап БД и изменять InnoDB на MyISAM

                      « Последнее редактирование: 09.04.2013, 14:56:52 от ViktorMah »

                      Записан

                      английским языком написано = «U368000_site.bel_users» Таблица не существует

                      надеюсь бекап БД есть.
                      неделю назад имело место быть подобное сообщение.
                      оказалось, что при установке БД создавалась в InnoDB а хостинг не поддерживает такой вариант. В итоге все таблицы в иннобд просто перестали читаться(закомментировались). Пришлось брать бекап БД и изменять InnoDB на MyISAM

                      Я все понимаю, что нет базы.
                      Но я ничего не делал с базой и с сайтом.
                      Как такое могло произойти?

                      1. Глюк хостинга
                      2. Мало ли как могла база удалиться.
                      3. Зайдите в Май Админ, проверьте, есть ли база и таблицы.

                      Записан

                      Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.

                      А

                      1. Глюк хостинга
                      2. Мало ли как могла база удалиться.
                      3. Зайдите в Май Админ, проверьте, есть ли база и таблицы.

                      а не подскажете, где храниться база в архиве Akeeba?
                      (Полный архив я вчера сделал)
                      Я попробую отдельно User импортировать.

                      отдельно сомневаюсь, что получится.
                      проще локально, на денвере или аналоге (можно на хостинге в поддомен), развернуть бэкап.
                      зайти в локальный phpMyAdmin экспортировать всю БД.
                      открыть БД.sql в Нотепад++ или блокнотом.
                      Выполнить автоматический поиск и замену  InnoDB на MyISAM . сохранить файл
                      зайти phpMyAdmin хостинга выбрать нужную БД, удалить все таблицы. и импортировать сохраненный — БД.sql

                      Востановил.
                      На денвере сохранил отдельно недостающую таблицу базы и импортировал в базу на хостинге.
                      Спасибо, всем к помогал.

                      Понравилась статья? Поделить с друзьями:
                    • Ошибка 1146 table doesn t exist sql
                    • Ошибка 1146 itunes
                    • Ошибка 1145 форд фокус
                    • Ошибка 1145 ниссан
                    • Ошибка 1145 itunes