2017-03-16 45 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 –