@McMike

Как выбрать несуществующий ID?

Задача - в некоторую таблицу делать запись со случайным id из заданного диапазона (1000-100000 например).
Я могу конечно на стороне php генерировать случайный id и если такого еще нет в бд, то записывать его. Но по мере заполнения таблицы, такой подход будет деградировать. Нужен запрос, который может выбрать случайное число, такое, которого нет в соотвествующей таблице, т.е. выбрать из отсутсвующих.
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
https://medium.com/@emerson_lackey/postgres-random...

https://wiki.postgresql.org/wiki/Pseudo_encrypt

pseudo_encrypt(int) can be used as a pseudo-random generator of unique values. It produces an integer output that is uniquely associated to its integer input (by a mathematical permutation), but looks random at the same time, with zero collision. This is useful to communicate numbers generated sequentially without revealing their ordinal position in the sequence (for ticket numbers, URLs shorteners, promo codes...)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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