@tem12qaz

Можно ли пропускать некоторые id?

Могу ли я задать ограничение на id для таблицы. Например чтобы значения 54 и 37 не заполнялись и после строки с id=53 шла строка с id=55?
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
@rPman
Будет запускать много телеграмм ботов. Хотел чтобы они работали на порте=id. Но не все порты свободны.

Правильное решение - составные идентификаторы.

Т.е. идентификатором должны являться одновременно пара портов - id записи и id порта (или устройства).

Существует практика, когда в один числовой идентификатор запихивают два, самый простой способ - для каждой новой записи увеличивать значение идентификатора не на 1 а на N, где N - максимальное количество устройств (в вашем случае ботов), пусть и с запасом. Т.е. если номер порта P то идентификатор будет равен P+N*seq, пока количество устройств меньше N они не пересекутся и простым делением по модулю N можно из идентификатора извлечь P

У вас postgres он поддерживает сиквенсы
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы