MySQL随机唯一字符串

4
我正在为网站编写“重置密码”功能,其中一部分是生成随机的唯一字符串以插入MySQL数据库。目前,我使用SHA1(RAND())来完成此操作,并且它运行得非常完美。但是,这仅提供了大约1.46150164E48(对于SHA1,我不确定RAND的唯一范围是什么)不同的组合,并且我想确保永远不会发生插入两个相同值的情况。
现在,我可以轻松地使用PHP(因为这是基于PHP的网站),通过循环迭代直到生成不存在的随机字符串 - 在大多数情况下只需要1次迭代,但我想知道是否可以在MySQL中实现这一点?
也就是说:在MySQL中是否可能生成伪随机的字符窜,MySQL本身将确保在给定的表和字段中是唯一的?
1个回答

9
您还可以使用UUID()全局函数,它每次生成一个唯一值:
SELECT UUID()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接