Перейти к содержимому


сбивается автонумерация выставляемых счетов


Сообщений в теме: 6

#1 sha

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 10 Апрель 2012 - 11:15

после удаления ошибочного счета сбивается автонумерация. видимо берется следующий id из mysql...

Можно как-то поправить значение следующего номера?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 10 Апрель 2012 - 12:38

На данный момент - нет. Автонумерация всегда берет текущий id записи.

#3 Андрей Гуляев

    Активный участник

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 31 Октябрь 2012 - 06:29

Как изменить автонумерацию поля ID? перескачило на 700 вперед, фактически нет строк с 500 до 1200 Какую. таблицу и какое поле отредактировать в MYSQL? Как побороть это? Вообще как база решает какой должен быть следующий номер?

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 31 Октябрь 2012 - 09:02

1. Меняете ID последней записи на нужный.
2. Применяете запрос к таблице "ALTER TABLE `cb_data111` AUTO_INCREMENT = 222", где 111 - id вашей таблицы, 222 - id последней записи + 1 (т.е. id следующей записи)

#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 31 Октябрь 2012 - 09:06

Цитата

Вообще как база решает какой должен быть следующий номер?

Как написано выше, id последней записи + 1, но есть исключения:
1. Если записи удалялись, например записи с id от 5 до 10, до следующий id будет 11, а не 6. Т.е. "дырка" останется.
2. Если AUTO_INCREMENT преднамеренно менялся, как в запросе выше (но его нельзя поставить меньше чем id посл. записи + 1)

#6 Андрей Гуляев

    Активный участник

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 31 Октябрь 2012 - 10:50

Всё помогло, но в строке "ALTER TABLE `cb_data111` AUTO_INCREMENT = 222" в конце бы добавить ";" дилетанты всё как и я копируют и синтаксис не знают. Спасибо, проблема решена.

#7 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 435 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 03 Октябрь 2017 - 13:55

ALTER TABLE `cb_data111` AUTO_INCREMENT = 222 или
ALTER TABLE `f_data111` AUTO_INCREMENT = 222

не работает ни та, ни другая конструкция в функции

sql_query($sqlQuery)





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных