MySQL随机唯一字符串

时间:2012-07-16 04:52:07

标签: mysql

我正在为网站编写“重置密码”工具,作为其中的一部分,我需要生成一个随机的,唯一的字符串,以插入MySQL数据库。

截至目前,这只是使用SHA1(RAND())完成,它完美无缺。但是给出了1.46150164E48 {对于SHA1我不太确定RAND的唯一范围是什么)不同的组合和迂腐我想要确保插入两个相同值的情况永远不会发生。

现在我可以轻松地使用PHP(因为这是基于PHP的网站),迭代循环直到生成一个不存在的随机字符串 - 在大多数情况下将是1次迭代,但我想知道如果可以使用MySQL吗?

那就是:在MySQL中,是否有可能生成一个伪随机字符串,MySQL本身将确保在给定的表和字段中是唯一的?

1 个答案:

答案 0 :(得分:9)

您还可以使用每次都生成唯一值的UUID()全局函数:

SELECT UUID()