我正在为一个网站编写一个“重置密码”工具,作为其中的一部分,我需要生成一个随机的、唯一的字符串来插入到MySQL数据库中。
到目前为止,这仅仅是使用SHA1(RAND())完成的,并且工作非常完美。但是,只有的给出了1.46150164E48 (对于SHA1,我不太确定RAND的唯一范围是什么)不同的组合,并且是迂腐的,我想确保插入两个相同的值的情况永远不会发生。
现在,我可以轻松地使用PHP (因为这是基于PHP的网站),遍历一个循环,直到生成一个不存在的随机字符串--在大多数情况下,这将是1次迭代,但我想知道这在MySQL中是否可行?
也就是说:在MySQL中,是否有可能生成一个伪随机字符串,而MySQL本身将确保这些字符串在给定的表和字段中是唯一的?
发布于 2012-07-16 05:35:10
您还可以使用每次生成唯一值的UUID()全局函数:
SELECT UUID()https://stackoverflow.com/questions/11498274
复制相似问题