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

1

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

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

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

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


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

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

  • +2
    Михаил Ушенин Михаил Ушенин Webasyst 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 Hiaolong 30 ноября 2022 13:10 #

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

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

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

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

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

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

          • -1
            replicant 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 Hiaolong 1 декабря 2022 00:33 #

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

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

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

              • -1
                replicant 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 Hiaolong 1 декабря 2022 20:26 #

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

                  Table ... shop_filter' doesn't exist code 1146

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

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

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

                  • -1
                    replicant replicant 2 декабря 2022 10:48 #

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

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

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

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

                  • 0
                    replicant replicant 30 ноября 2022 18:36 #

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

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

                    Чтобы добавить комментарий, зарегистрируйтесь или войдите