Проблема! Не правильно назначается id для нового товара

Статус
В этой теме нельзя размещать новые ответы.

Dmytro_ua

Местный житель
Регистрация
15 Фев 2008
Сообщения
244
Реакции
20
Привет всем,
Обнаружилась ошибка, при добавлении нового товара, его id создается не по порядку, как должно (+1 от предыдущего), а с прыжками в 10-100.
На данный момент набежало более 18000, при том, что товара чуть больше 4000.

1. При просмотре товаров, видно, что проблема была не сразу, т.к. примерно к 1500 айди назначалось правильно.
2. Товар добавляется вручную, иногда через импорт из таблицы CSV.
3. Так же замечено, что айди товаров которые импортировал из таблицы CSV идут по порядку, пусть даже начиная с 9к, но по порядку.
4. На данный момент уже не вспомню, что мог добавлять или модифицировать в скрипте в тот период.

Кто подскажет в чем проблема?
Заранее благодарен
 
На самом деле у меня около 2000 товара в обработанном состоянии и чуть больше 2000 в корне.
При обновлении прайса часть товара в корне приобретает новое значение.

Как можно поправить ситуацию с id? Т.к. скрипт по новым поступлениям из соседней ветки "Разыскивается скрипт «Новые поступления» под Shop Script Premium" не корректно работает. :thenks:
 
Как мне кажется, происходит следующее скрип при обновлении товара заводит новые id товара и так как когда-то id 150, например уже использовался он берет и делает новый. Данную схему можно проследить на заказах если есть заказ 34 и потом его удалить из базы, то заказа 34 больше никогда не будет все перескочит на 35, хотя на момент заказа 35 заказа 34 уже не было. В общем, это логично! но это если я правильно понял проблему. И если это так то как мне кажется, придется много чего переписывать!
 
Спасибо, по логике вещей ты прав, но переписывать, как мне кажется, ничего не нужно. Особенно искать какой-то код, который всё бы правил.

Если ты знаешь, скажи какой файл за это отвечат, и где можно это все вручную поправить, т.к. некоторые "модули" не корректно работают...
 
Так прямо я не знаю надо искать и думать. Но проблема в другом, вернее вопрос: И чего мы добьемся?

1) Того что не будет следиться за порядком нумерации и дублирования id товара? Это приведет к полному хаосу! Ты ж не пытаешься переписать Windows, что б была возможность создавать 15 папок одного названия на одном разделе жесткого диска...? или пробовал? :D;)

2) При импорте или экспорте в SS нет вообще выгрузки id товара. Зависимость берется от чего угодно, а не от id товара. Я тут пару месяцев назад помогал человеку на форуме (все это доступно) как переделать процесс загрузки данных ему слова нужны были в количестве товара. Я не знаю, помогло это или нет, но это затронуло очень много чего и могли быть скрытые проблемы, о которых не было известно сразу откроются позже.

3) Может легче подумать, что там с модулями??? И в них решить проблему. Хотя как мне кажется, я знаю, в чем проблема. Ты добавляешь в хиты или спец. предложения один товар с одним id, а при обновлении базы этот товар или меняет свой id или вовсе отсутствует в базе или место него выдается другой товар... может, подумаем в эту сторону. Но тут, то ж подводные камни так как уже после загрузки все определяется по id товара.. как решение можно использовать для определения или артикул или еще какое поле, которое будут уникально для каждого товара. Но это все мысли надо получить от тебя данные. что и в чем проблема!
 
Может легче подумать, что там с модулями??? И в них решить проблему. Хотя как мне кажется, я знаю, в чем проблема. Ты добавляешь в хиты или спец. предложения один товар с одним id, а при обновлении базы этот товар или меняет свой id или вовсе отсутствует в базе или место него выдается другой товар... может, подумаем в эту сторону. Но тут, то ж подводные камни так как уже после загрузки все определяется по id товара.. как решение можно использовать для определения или артикул или еще какое поле, которое будут уникально для каждого товара. Но это все мысли надо получить от тебя данные. что и в чем проблема!

Товар у меня постоянный (каждый товар имеет неизменный артикул), обновляя прайс сортирую по артикулу, обновляется наличие и цена. Все остальное остается. Не исключено, что при обновлении прайса появляется и новый товар. При последнем обновлении, в корне лежит около 2000 необработанного товара и новый товар имеет айди уже 22000.
 
никогда не ориентируйся на айди, оно никому ничего не должно кроме того чтоб быть уникальным. постоянный - артикул
 
Как мне кажется, происходит следующее скрип при обновлении товара заводит новые id товара и так как когда-то id 150, например уже использовался он берет и делает новый. Данную схему можно проследить на заказах если есть заказ 34 и потом его удалить из базы, то заказа 34 больше никогда не будет все перескочит на 35, хотя на момент заказа 35 заказа 34 уже не было.
суть вы изложили правильно "на пальцах", объясню теперь почему так происходит: id это столбец id (может иметь любое название) в базе данных. он имеет атрибут auto_increment, что означает что в базе хранится указатель, который при создании новой записи задает (если он явно не указан в запросе) id значение предыдущей записи+1 и независимо от того, что прошлый "заказ" удален.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху