Я не уверен, что точно понимаю, может быть, что-то вроде этого:
SELECT ROUND(RAND() * 123456789) as id
Чем больше вы делаете число, тем больше ваш идентификатор.
Конечно, нет никаких гарантий в отношении уникальности, в конце концов, это быстрый взлом, и вы должны внедрить проверочный код для обработки вероятности того, что дубликат будет вставлен, но, возможно, это послужит вашей цели?
Конечно, есть много других подходов, чтобы сделать это.
Вы можете легко использовать практически любой язык сценариев, чтобы сгенерировать это для вас, пример PHP здесь:
//Generates a 32 character identifier that is extremely difficult to predict.
$id = md5(uniqid(rand(), true));
//Generates a 32 character identifier that is extremely difficult to predict.
$id = md5(uniqid(rand(), true));
Затем используйте $id
в своем запросе или в любом другом месте, где вам нужен ваш уникальный идентификатор. На мой взгляд, преимущество выполнения этого на языке сценариев при взаимодействии с БД заключается в том, что его легче проверять в целях применения / использования. и действовать соответственно. Например, в вашем примере, каким бы методом вы ни пользовались, если вы хотите быть на 100% всегда уверены в целостности данных, вы должны убедиться, что в другом месте нет дубликатов этого идентификатора. Это легче сделать в скрипте, чем в SQL
.
Надеюсь, это поможет моему другу, удачи!