Каков наилучший способ создания случайного идентификатора MySQL с помощью PHP - PullRequest
1 голос
/ 18 февраля 2010

Я создаю приложение, которому нужен случайный уникальный идентификатор для каждого пользователя, а не последовательность

база данных mysql

ID   Username

для моего уникального случайного идентификатора, какой лучший способ сделать это?

Ответы [ 3 ]

2 голосов
/ 18 февраля 2010

PHP предоставляет функцию uniqid, которая, возможно, справится с задачей.

Обратите внимание, что возвращается строка, а не целое число.


Другая идея заключается в создании / использовании некоторого GUID - об этом есть некоторые предложения в примечаниях пользователя на странице руководства uniqid.

1 голос
/ 18 февраля 2010

MySQL предоставляет функцию с именем UUID ():

http://dev.mysql.com/doc/refman/5.1/en/miscellaneous-functions.html#function_uuid

Документация утверждает это:

UUID представляет собой число, которое глобально уникальный в пространстве и времени. Два ожидается, что вызовы UUID () генерировать два разных значения, даже если эти звонки выполняются на двух отдельные компьютеры, которые не являются связаны друг с другом.

Это должно покрыть ваши потребности.

1 голос
/ 18 февраля 2010

У меня все еще был бы нормальный первичный ключ с автоинкрементом для правильной идентификации каждой строки, это просто стандартное соглашение.

Я бы тогда имел еще один индексированный столбец с именем 'user_id' или что-то подобное и использовал бы uniqid();за это.

...