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

Прыгает нумерация заказов

  • 19 июня 2015 г.
  • Не могу понять, как она работает, как его успокоить?

    например идет номер 998, затем несколько заказов идут с прибалвением 1, т.е. 999, 1000 1001
    потом просто может стать 555551423, и опять прибавляет по 1, 555551424, 555551423 итд.
    затем опять спрыгнет на 56, 57 , 58 , 59.

    Как это устранить?

    Пробовал в myphp сделать заказ например 23, но следующий из сайта создается не 24, а тот который следующий за последним созданным не мной. 555551423
  • 19 июня 2015 г.
  • В нем стоит как раз номер заказа, и что с ним делать?
  • 19 июня 2015 г.
    • 19 июня 2015 г.
    • Ну вон же, 555525756 - поэтому создавая заказ присваивается следующий. Уж не знаю, откуда эта цифра взялась, не столько же заказов у Вас было... Если заказов 57, ставьте там 58 и всё, будет считаться от неё. А еще лучше, конечно, удалить все заказы, оптимизировать таблицу order и проверить чтобы инкремент был =1
  • 19 июня 2015 г.
  • не могу изменить это значение, оно автоматом присваивается опять длинное. Удалить заказы не могу, к ним привязаны счета, по которым уже были оплаты.
    что еще покапать можно?
  • 19 июня 2015 г.
  • Причем я заметил, что сбиваться начинает нумерация у пользователя с ID 0, это гость
  • 22 июня 2015 г.
  • А я честно не знаю, в каком обновлении гость.

    Последнее было в феврале.

    Оптимизировал таблицу, ничего не изменилось.
    Всего около 100 записей.
  • 23 июня 2015 г.
  • Вот опять сегодня был пусто заказ со статусом выполнено и номером 927.
    Вопрос почему иногда появляются пустые заказы?

    Как все таки победить нумерацию. Что конкретно нажать в phpmyadmin добавление новой строки с заменой инкремента результата не дало.
    • 23 июня 2015 г.
    • Чего там побеждать???
      Там всё проще некуда:
      1. INSERT в таблицу заказов, без указания ID
      2. ID присваивается самой СУБД MySQL, следующий после AUTOINCREMENT.
      Всё.

      Если в таблице 100500 записей и AUTOINCREMET = 100501, то очередной заказ получит 100502.
      Если в таблице 10 записей, но AUTOINCREMENT = 100501, то очередной заказ все равно получит 100502.
      Если в таблице было 100500 записей, который затем удалили, но не оптимизировали таблицу, все равно очередной заказ получит 100502

      CMS никак на ID заказов не влияет. Это чисто SQL-евая прерогатива.
  • 23 июня 2015 г.
  • Сделал пустой INSERT
    Добавилась строка с номером +1 от последнего,
    зашел в него заменил на другой ID с 555525766 на 134
    Делаю новую строку, ID автоматом 5552567, а не 135

    Захожу в Операции
    в автоинкремент стоит 555525768, меня на 134 к примеру, жму ОК, 134 меняется на прежнее значение, если поставить к примеру 555525773, то все ок он его примет и не меняет сам. Вообщем нельзя его сделать меньше.

    Задача, как это исправить? не удаляя записи с этим гигантским ID?
    • 23 июня 2015 г.
    • Цитата
      Задача, как это исправить? не удаляя записи с этим гигантским ID?

      Никак. СУБД защищается от этого.
      Гигантские записи надо поменять.
  • 23 июня 2015 г.
  • http://gyazo.com/baa9f05bda7fb306025a48019480de89
    и ведет она себя странно, можно проследить как менялись значения в таблице.

    последние два мной созданы, автоинкремент не от них пляшет
    • 23 июня 2015 г.
    • Чего странного-то?
      Вы знаете, что если в таблице было
      Код
      1
      2
      3
      4
      и потом 3 удалили и сделали AUTOINCREMENT 555, то при добавлении очередной записи в таблицу будет вот так
      Код
      1
      2
      556
      4
      ?
      Я еще раз говорю, если возможно, очистите таблицу заказов полностью и всё.
      Если заказы нужны и их немного, то отсортируйте их в PMA по ID, поменяйте вручную все ID от 1 до 55 (или сколько их там у Вас), затем оптимизируйте таблицу и затем поставьте в AUTOINCREMENT 56.
  • 23 июня 2015 г.
  • ок исправлю вручную нумерацию
  • 24 июня 2015 г.
  • Все равно теперь появляются какие то новые пустые заказы при этом номер у них не следующий за инкрементом, а выше. Нормальные же заказы начинают плясать от этого нового номера.
    Откуда берутся эти пустые заказы с непонятными ID?
    Может если тупо нажать оформить корзину? Но почему номер не последовательный?
  • 24 июня 2015 г.
  • AUTOINCREMENT в таблице заказов, сейчас какой?
  • 24 июня 2015 г. , редакция: 24 июня 2015 г.
  • Сайт синхронится с 1С или Мой Склад?
  • 24 июня 2015 г.
  • Автоинкермент сейчас 324, убил все записи, оставил только реальные заказы, присвоил им вручную номера от 1 до 323.
    новый заказ делает как положено 325 итд. но боюсь опять вылезет, как уже было непонятный пустой заказ с дурацким номером. И все поедет.
    Сайт синхронится с "МОЙ СКЛАД"
  • 24 июня 2015 г.
  • Точно не прошло и часа, добавилась пустая строка от пользователя 0. с id 520?
    а потом еще строка от пользователя 0 c номером 5555232544
    • 24 июня 2015 г.
    • Тааааак, а в МойСклад какой номер у последнего заказа?
  • 25 июня 2015 г.
  • в МС выгружаются заказы из сайта, нумерация там меняется на свою. ставится префикс.
    Вообщем последний номер w-00027
  • 26 июня 2015 г.
  • вообщем, если заказ сделать в МОЙ СКЛАД, то потом он выгрузится с непонтяным номером, если закзаы делать только в ДИАФАН, то все нормально.
    Вопрос, как сделать проверку, если у номера МОЙ СКЛАД не стоит префикс, то не грузим в ДИАФАН этот заказ, а все заказы ДИАФАНА будут прилетать с префиксом.
    Т.о. можно будет и вручную делать заказы и через ДИАФАН.

Новости

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

Форум