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