我很好奇人們如何處理以下情況。比方說,我們有一個用戶表,看起來像這樣:在SQL Server中生成唯一的用戶名
CREATE TABLE [dbo].[Users](
[UserId] [uniqueidentifier] NOT NULL,
[ProfileId] [uniqueidentifier] NULL,
[UserTypeId] [uniqueidentifier] NOT NULL,
[UserName] [varchar](150) NOT NULL,
[Password] [varchar](150) NOT NULL,
[Salt] [nchar](10) NOT NULL,
[ActivationCode] [char](8) NULL,
[InvalidLoginAttempts] [int] NOT NULL,
[IsLockedOut] [int] NOT NULL,
[LastLoginDate] [datetime2](7) NOT NULL,
[Active] [int] NOT NULL,
[DateCreated] [datetime2](7) NOT NULL,
[LastUpdated] [datetime2](7) NOT NULL,
所以這裏是我的實際問題。以前,當我使用int作爲PK時,如果用戶沒有提供用戶名,我可以插入一個用戶並根據身份插入自動創建一個用戶名。爲什麼會發生這種情況的例子。 「例如OpenId註冊」那麼,如何使用GUID生成一個獨特的「計數」。我當然不希望顯示「歡迎userXXX-XXX-XXX等等。
我的想法是,也許建立一個單獨的表,這與和INT的身份和存儲在那裏?
說的部分'爲什麼會發生這種情況的例子。 「例如OpenId註冊」不清楚。 – 2012-01-03 15:56:40
我不需要我的OPenId註冊的電子郵件地址。與StackOverflow類似,所以我需要自動創建某種字符串值來識別我在幕後爲他們創建的內部用戶帳戶。 – CrazyCoderz 2012-01-03 16:00:55
是的,我明白了。好吧,我出演了它,我會好奇地看到這個問題的解決方案。 – 2012-01-03 16:07:07