Генерация случайных идентификаторов, которые не являются индивидуально уникальными, но уникальными по 2 полям (столбцам) в таблице базы данных - PullRequest
0 голосов
/ 25 сентября 2019

Там уже есть ответы на вопросы о том, как генерировать уникальные, случайные буквенно-цифровые строки в MySQL.Дело не в этом.Я пытаюсь сгенерировать 4-символьную случайную буквенно-цифровую строку в MySQL, чтобы комбинация этого и другого полей была уникальной в MySQL.Другими словами, учитывая существующее поле в таблице (userID), мне нужна 4-х символьная случайная буквенно-цифровая строка для другого поля в той же таблице (commentUID), чтобы объединенный userID + commentUID был уникальным.Обратите внимание, что commentUID сам по себе не обязательно уникален - 2 или более пользователей с разными идентификаторами могут иметь одинаковое значение commentUID.

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

Уникальный идентификатор комментария должен состоять из 4 буквенно-цифровых символов, поскольку вряд ли каждый пользователь оставит более 36 ^ 4 = 1,6M комментариев (36 обозначает все возможные значения от a-z0-9, только в нижнем регистре)).Примером этого является https://dev.to/mindplay/comment/dm5i

Как я могу сделать это как чистое решение только для MySQL, так, чтобы commentID генерировался при вставке новой записи в таблицу комментариев?

1 Ответ

0 голосов
/ 25 сентября 2019

Хешиды могут требовать соответствующую строку хеша, эта операция обратима, вы можете узнать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...