2012-07-16 65 views
4

我正在爲網站編寫一個「重置密碼」工具,並且作爲其中的一部分,我需要生成一個隨機的,唯一的要插入MySQL數據庫的字符串。MySQL隨機唯一字符串

截至目前,這只是簡單地使用SHA1(RAND()),它完美的作品。然而這僅圍繞1.46150164E48(爲SHA1我不那麼肯定獨特的範圍RAND是什麼)不同的組合並且是迂腐我要確保在兩個相同的值被插入的情況從未發生過。

現在,我可以很容易地使用PHP(因爲這是基於PHP的網站),通過循環迭代,直到生成一個不存在的隨機字符串 - 在大多數情況下會是1次迭代,但我是想知道這是否可能與MySQL?

那就是:是否有可能,在MySQL中生成字符的MySQL本身將確保一個僞隨機字符串在給定的表和字段獨特之處?

回答

9

您還可以使用UUID()全局函數生成一個唯一值每一次的:

SELECT UUID()