2017-10-12 697 views
-1

使用UUID在具有唯一約束的列中生成隨機值就足夠了嗎?在MySql中爲主鍵生成隨機值

或者我們應該附加類似當前時間戳到UUID。

或者是否有更好的方法來爲sql列生成隨機但唯一的值。

+0

在99.9999%的所有用例中,UUID就足夠了。 (甚至更多9s) – luk2302

+1

_「...爲主鍵...」_是不是自動增量足夠? –

+1

我希望他們是隨機的。用戶不應該能夠猜到其他用戶的ID。 –

回答

1

以任何語言生成隨機數是一種用詞不當。這些數字是僞隨機的。意思不完全是100%隨機的。

也考慮到在1-5範圍內產生隨機數的情況。你可能會得到重複生成相同的數字。或者,如果您生成超過5個數字,則絕對會有重複。

如果字段只從一個地方更新,時間戳往往是一個很好的UUID。但是,你也必須擔心諸如確保格式正確的事情。特別是在語言/技術之間切換時。

用戶ID爲什麼不自動增加一列的值?在某處開始列並從那裏增加。我會在列表的開頭留下一些數字,這樣如果您需要它們進行測試/管理,那麼您可以儘早找到空的數字。