我正在为一个网站编写一个“重置密码”工具,作为其中的一部分,我需要生成一个随机的、唯一的字符串以插入 MySQL 数据库。
到目前为止,这只是简单地使用SHA1(RAND())
,并且效果很好。然而,这只给出了不同的组合1.46150164E48
(因为SHA1
我不太确定唯一的范围RAND
是什么)不同的组合并且我想确保插入两个相同值的情况永远不会发生。
现在我可以很容易地用 PHP 完成它(因为这是基于 PHP 的网站),遍历一个循环,直到生成一个不存在的随机字符串 - 在大多数情况下,这将是 1 次迭代,但我想知道这是否是可以用 MySQL 吗?
也就是说:在 MySQL 中,是否有可能生成一个伪随机字符串,MySQL 本身将确保在给定的表和字段中是唯一的?