2015-10-14 4 views
0

Предположим, что я сохраняю пользователей в базе данных, и я хочу, чтобы каждый пользователь имел уникальный случайный идентификатор (это на самом деле не случай, просто более простой пример). Когда я INSERT пользователь, есть ли способ вставить уникальный случайный идентификатор?Как вставить уникальное случайное целое в SQLite?

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

пример того, что мой стандартных вставки запроса для нового пользователя:

INSERT INTO 'Users' VALUES ('RandomID', 'Bleh', 'Bleh2') (random value here, 1, 2)

+0

Но как я могу определить уникальное случайное число в противном случае? –

+0

Вам действительно нужен идентификатор _random_, или просто уникальный, но произвольный? Если последнее, сделайте первый столбец «ИНТЕГЕР ПЕРВИЧНЫМ КЛЮЧОМ», и он будет чередоваться с rowid. –

+0

Мне определенно нужен случайный идентификатор. Это должно быть случайным. Мне не хотелось бы перебирать каждый столбец и сравнивать произвольный идентификатор, который я генерирую, а затем делать это снова каждый раз, когда произвольный идентификатор, который я создаю, совпадает с идентификатором, который уже существует (это то, что я сейчас делаю, и это очевидно нездоровый). –

ответ

0

Sqlite имеет random(), которая возвращает случайное целое число. Но это может быть не каждый раз уникальным. Вы можете добавить отметку времени или row_id с ней, чтобы получить уникальное случайное число.

+0

Это может быть лучший способ. Это не совсем то, на что я надеялся. –

Смежные вопросы