2
只是關於以下情況的最佳做法的一個簡短問題。你可以使用用戶名作爲唯一標識符/主鍵
開發一個包含賬戶的網站。網站已設置,以便任何兩個帳戶都不能具有相同的用戶名,即所有用戶名都是唯一的。
當持久化數據庫中的帳戶時,可以使用用戶名作爲主鍵(唯一標識符)還是有一些原因,我應該知道這將需要一個單獨生成的唯一ID?
只是關於以下情況的最佳做法的一個簡短問題。你可以使用用戶名作爲唯一標識符/主鍵
開發一個包含賬戶的網站。網站已設置,以便任何兩個帳戶都不能具有相同的用戶名,即所有用戶名都是唯一的。
當持久化數據庫中的帳戶時,可以使用用戶名作爲主鍵(唯一標識符)還是有一些原因,我應該知道這將需要一個單獨生成的唯一ID?
請勿使用用戶名作爲主鍵,從不。
使用代理鍵(即自動生成的數字),因爲
更新:在分佈式系統的情況下,使用的GUID
感謝 - 你會建議生成唯一ID?遞增值,用戶名+當前時間等值的醃製散列值? –
@SaadAttieh通常的遞增是絕對足夠的 –
就個人而言,如果用戶名被用於登錄(因此應該是唯一的),我會將歷史存儲在另一個表中,這樣我就可以獲得唯一鍵的安全性約束。如果不是,如果它是某種標籤,那麼它並不重要。 –