@abra-cadabra

Как рандомно генерировать ID записи в БД?

Здравствуйте.
У меня есть таблица, в ней есть поле ID с автоинкрементом.
Но задача уже стоит в другом, при добавлении новой записи в эту таблицу нужно вместо метода автоинкремента генерировать 6-значное рандомное число. Нужен совет с грамотной реализацией подобной задачи.
Спасибо.
  • Вопрос задан
  • 553 просмотра
Решения вопроса 1
sayber
@sayber Куратор тега PHP
Да, я программирую на PHP и еще асинхронно!
Используйте UUID (прим. 6ccd780c-baba-1026-9564-5b8c656024db) или UUID_SHORT (прим. 92395783831158784)
Но как сказали ранее, шестизнак, это очень мало.

Для postgresql есть и др. замечательные функции.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@Yan-s
6-значное рандомное число в первичный ключ? Этого достаточно только для небольшой таблицы.

Если устраивает, то не используйте PHP rand(), ее результаты недостаточно случайны и повторы начнутся быстрее, используйте random_int().

Для действительно случайных ключей id с высокой емкостью используют UUID https://ru.wikipedia.org/wiki/UUID
Ответ написан
Комментировать
eprivalov
@eprivalov
Учусь
PHP - rand() и SQL - RAND()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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