Вход • Регистрация

Помогите не добавляется новый товар

  • 30 ноября 2017 г.
  • Добрый вечер!
    Проблема вот в чем, при добавлении нового товара, выдается ошибка . Не знаю что делать!
    • 01 декабря 2017 г.
    • Модули и БД, вкладка восстановление БД. Нажимаем на кнопку "Начать проверку и восстановление базы данных"
      Дальше пробуете снова и если не помогло пишите сюда.
  • 01 декабря 2017 г.
  • А такой еще каверзный вопрос: вы являетесь администратором сайта или менеджером?
    Не могли ли вам просто доступ к данному функционалу отключить?
  • 01 декабря 2017 г. , редакция: 01 декабря 2017 г.
  • Указанная ошибка говорит о достижении максимального значения autoincrement. Конечно пояснить, как это исправить немного сложнее, чем сделать самому, так как не понятен уровень квалификации. Но могу предложить такой вариант. Возможно он будет простым решением.
    1. Сделайте резервную копию файлов сайта и базы данных на тот случай, если придется все вернуть в исходное состояние. Если не знаете как это сделать, то не делайте лучше ничего. Тогда доверьтесь какому-нибудь знакомому специалисту.
    2. Посмотрите таблицу {shop}. id последнего значения должен быть равен 4294967295. Если так, то решаем, например следующим образом.

    Далее вариант 1.
    2.1.В таблице {shop} смените тип int(11) для поля PRIMARY KEY id (autoincrement) на тип, например, BIGINT(20). Теперь вместо 2^32 значений будет возможным - 2^64

    Или вариант 2.
    2.2.1. Выгрузите весть товар через импорт/экспорт товаров с ценами, картинками, значениями характеристик, описания, тегами и тому подобным (в общем все все все). Также выгрузите категории товаров. Характеристики товара сохраните самостоятельно. Длинные списки значений характеристик можно очень легко снять, используя функцию - "быстрое редактирование".
    2.2.2. Через управление модулями просто удалите модуль "Интернет-магазин". После этого там же вновь создайте модуль интернет магазин.
    2.2.3. Импортируйте обратно категории товаров, характеристики товаров, и сами товары используя те же методы, что и ранее при экспорте.
    Пожалуй все. Теперь поясню, что произошло. Удалив модуль, Вы удаляете таблицы модуля в базе данных. Далее, после создания модуля, таблицы вновь создадутся с обнуленным autoincrement. А учитывая, что количество товаров у Вас далеко не 2^32, то Вы вновь можете начать исчерпывать выделенный лимит.

    Если в таблице {shop} id последнее значения не приблизилось к 4294967295, то выставите в фильтре к таблице следующие значения (применительно именно к Вашей ситуации): site_id = 1, cat_id = 13. Если применив фильтр вылетит строчка, то удалите ее. Естественно перед этим сделайте резервную копию. После удаления строки попробуйте создать товар.

    В общем, успехов.
    • 01 декабря 2017 г.
    • Если я правильно Вас понял, то у меня просто забито большое количество товара, то возможно ли так, если я просто почищу внутреннию корзину и удалю неиспользованные товары, которые скрыты и не нужны мне, то все заработает без лишних вмешательств?
      Спасибо!
      • 01 декабря 2017 г. , редакция: 01 декабря 2017 г.
      • Нет. У Вас не большое кол-во товаров. Просто autoincremen, скорее всего, достиг своего предела.

        Откройте, например, в phpmyadmin Вашу базу данных сайта. Далее откройте таблицу {shop} и посмотрите значение поля id последней строчки. Сообщите данное значение. Также отфильтруйте туже таблицу согласно таких значений: site_id = 1, cat_id = 13. Сообщите, что будет выдано по результатом фильтрации.
      • 01 декабря 2017 г.
      • auto incriment используется для генерации уникального идентификатора для новых строк в базе данных.
        Т.е. Вы в чистую БД добавили 1000 товаров. Они записались каждый в свою строку.
        Их ID стали, соответственно, с 1-го по 1000-ный. Вы удалили 1000 товаров. Инкремент не изменился, так и равен 1000.

        Вы добавили ещё 2000 товаров. Их ID начал считаться не от 1-го номера, а от 1001-го, т.к. инкремент не сбрасывается.
        Таким образом инкремент считает общее количество добавлений записей в БД, а не кол-во товаров.
  • 04 декабря 2017 г.
  • Всем спасибо!
    Помогло смена тип int на тип BIGINT.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум