Задать вопрос
besogonskiy
@besogonskiy
работаю php laravel разработчиком.

Как после удаления последней записи сделать чтоб id следующей новой записи стал как у удаленной записи чтоб не разрывать нумерацию?

в базе создаются временные записи, а потом некоторые из них удаляются. Как сделать чтобы если мы удалили сапись с самым большим id чтоб потом когда мы создадим новую запись, чтоб она принала id удаленной ранее записи, а не id +1
?
  • Вопрос задан
  • 194 просмотра
Подписаться 1 Простой 17 комментариев
Решения вопроса 3
@RusaDrako
Имеет ли смысл решать эту задачу в таком виде?

Вы всё равно будете иметь разрывы в записях: создана запись id=n (счётчик следующей записи n+1), после неё будет создана другая запись id=n+1 (счётчик следующей записи n+2), а после будет удалена запись n, счётчик сброшен до n+2.
Ответ написан
@pantsarny
В случае автоинкремента
Не удалять записи а делать мягкое удаление
Или сохранять все удаленные айдишники

Тут есть еще идеи
https://habr.com/ru/articles/228099/
Ответ написан
Комментировать
Digiport
@Digiport
PHP рулит
Сохраняйте ID удалённых записей в пуле. А при создании новой записи делайте выборку доступных id и создавайте запись с id из этого пула. После создания, не забудьте удалить id из пула.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы