2012-07-16 58 views
4

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

截至目前,这只是简单地使用SHA1(RAND()),它完美的作品。然而这仅围绕1.46150164E48(为SHA1我不那么肯定独特的范围RAND是什么)不同的组合并且是迂腐我要确保在两个相同的值被插入的情况从未发生过。

现在,我可以很容易地使用PHP(因为这是基于PHP的网站),通过循环迭代,直到生成一个不存在的随机字符串 - 在大多数情况下会是1次迭代,但我是想知道这是否可能与MySQL?

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

回答

9

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

SELECT UUID()