gpt4 book ai didi

mysql - 生成随机 ID,这些 ID 不是单独唯一的,而是在数据库表中的 2 个字段(列)中唯一的

转载 作者:行者123 更新时间:2023-11-29 15:37:30 26 4
gpt4 key购买 nike

关于如何在 MySQL 中生成唯一的随机字母数字字符串的问题已经得到解答。这不是问题所在。我试图在 MySQL 中生成一个 4 个字符的随机字母数字字符串,以便该字段和另一个字段的组合在 MySQL 中是唯一的。换句话说,给定表中的现有字段 (userID),我需要为同一表中的另一个字段 (commentUID) 使用 4 个字符的随机字母数字字符串,以便组合的 userID+commentUID 是唯一的。请注意,commentUID 本身不一定是唯一的 - 2 个或更多具有不同 userID 的用户可以具有相同的 commentUID 值。

背景:我有一个用户表和一个评论表。我需要一个唯一的组合:用户的用户名(或 ID)和他们留下的评论的唯一 ID,以便系统中的每个评论都可以在 URL 中唯一标识,同时还保留评论 UID(以及 URL)尽可能短。

评论的唯一 ID 应为 4 个字母数字字符,因为每个用户发表的评论不可能超过 36^4 = 160 万条(36 表示 a-z0-9 中的所有可能值,仅小写)。一个例子是 https://dev.to/mindplay/comment/dm5i

如何将其作为纯 MySQL 解决方案来执行此操作,以便在将新记录插入评论表时生成 commentID?

最佳答案

Hashids可以索取对应的哈希字符串,这个操作是可逆的,你可以看看

关于mysql - 生成随机 ID,这些 ID 不是单独唯一的,而是在数据库表中的 2 个字段(列)中唯一的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58090710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com