2017-03-16 74 views
0
CREATE TABLE [User](
    UserId int identity(1,1), 
    Email varchar(max) unique not null, 
    UserName varchar(30) unique not null, 
    [Password] varchar(max)not null, 
    PRIMARY KEY(UserId) 
); 

當我運行此腳本時,出現一個錯誤消息,指出電子郵件和用戶名是唯一約束的無效類型。所以我的問題是如何在表格腳本中創建一個唯一的列?在.sql腳本中創建唯一列(asp.net核心)

回答

2

不能將varchar(max)或nvarchar(max)設置爲唯一值。請考慮將這些列的長度設置爲較低的值。

我想你可以使用獨特的nvarchars最大長度爲450個

密碼和電子郵件應該不會很長,無論如何,也許100的長度應該是綽綽有餘。

無論如何,只是不要使用最大值,如果你想它是一個獨特的列。

就我個人而言,我認爲你不必強制密碼是唯一的。如果密碼未被接受,用戶可能知道密碼是否被另一個帳戶使用。

+0

我沒有強制密碼是唯一的,只是電子郵件和用戶名:b。非常感謝答案。 – tocoolforscool

+0

哦,這是用戶名,對不起。我認爲唯一的限制也是密碼。謝謝! @ j3ssi3ftw –