CreatiumMax

Настройка автоматической нумерации новых записей в БД

Настройка автоматической нумерации новых записей в БД

Довольно часто необходимо при добавлении записи в базу данных присваивать ей порядковый номер с добавлением каждой новой записи +1.

Для этого мы можем использовать простую формулу и некоторые действия в нашем сценарии.

Надежность нумерации

Вы можете реализовать такой функционал с помощью действия в сценарии Посчитать записи и добавлять к нему 1. Но если учитывать, что записи в будущем могут удаляться, лучше использовать подход ниже с поиском самого большого номера в таблице и добавлять к нему единицу. Он будет универсальным и надежным.

Порядок действий

Предположим, что у нас есть таблица Заявки.

  • Добавляем в эту таблицу колонку - например order_id, в которую будем записывать нумерацию записей, заявок, объявлений и т.д.

В таблице Заявки можете сразу вручную добавить одну запись для последующего тестирования.

  • Добавляем в сценарий действие Найти одну запись, в качестве таблицы выбираем таблицу, где нужно считать записи, в нашем случае Заявки. Поле фильтр оставляем пустым, в поле Сортировка выбираем поле в котором будем хранить номера заявок и ставим Сортировка по убыванию. Сортировка по убыванию нужна для того, чтобы найти запись (заявку) с самым большим номером. Результат этой операции записывается в переменную entry

  • В отладчике мы можем запустить выполнение сценария и увидеть, что в найденной записи у нас есть созданное ранее поле с номером заявки в числовом формате. Кликнув на эту переменную entry.order_id мы копируем путь к ней.

  • Далее к полученной переменной вам нужно добавить + 1, в итоге будет формула entry.order_id + 1

Результат формулы далее вы уже можете:

  • Записать в значение при создании новой записи.

  • Записать в значение новой переменной

  • Изменить значение уже существующей записи в таблице.

Пример сценария с автоматической нумерацией

https://cremax.ru/scenario-playground?saved=64gvupoy931d8722a26ghf0s

Видео с примером

Было полезно?

Остались вопросы? — Напишите нам в чат поддержки будучи авторизованным в своем аккаунте cremax.ru или через чат поддержки в Телеграме: @CreatiumMaxSupportBot