如我有表
ID UserName UserPass ...
1 AAA 1234
2 VVV 1234 ID为主键 现在要求UserName不能重复,在SQL中要怎么写约束
-------------------------------
根据CSDN的朋友提供:
ALTER TABLE ES_EmailAddress
ADD CONSTRAINT UNIQUE_Email UNIQUE(Email);
CREATE UNIQUE INDEX UNIQUE_Email
ON ES_EmailAddress( Email )
但提示
消息 1505,级别 16,状态 1,第 1 行
CREATE UNIQUE INDEX 终止,因为发现对象名称 'dbo.ES_EmailAddress' 和索引名称 'UNIQUE_Email' 有重复的键。重复的键值为 (1)。
语句已终止。
怎么回事谢谢
ID UserName UserPass ...
1 AAA 1234
2 VVV 1234 ID为主键 现在要求UserName不能重复,在SQL中要怎么写约束
-------------------------------
根据CSDN的朋友提供:
ALTER TABLE ES_EmailAddress
ADD CONSTRAINT UNIQUE_Email UNIQUE(Email);
CREATE UNIQUE INDEX UNIQUE_Email
ON ES_EmailAddress( Email )
但提示
消息 1505,级别 16,状态 1,第 1 行
CREATE UNIQUE INDEX 终止,因为发现对象名称 'dbo.ES_EmailAddress' 和索引名称 'UNIQUE_Email' 有重复的键。重复的键值为 (1)。
语句已终止。
怎么回事谢谢
CREATE UNIQUE INDEX UNIQUE_Emailasdf
ON ES_EmailAddress( Email )
CREATE UNIQUE INDEX UNIQUE_Emailasdf
ON ES_EmailAddress( Email )
drop index ES_EmailAddress.UNIQUE_Emai
再运行
CREATE UNIQUE INDEX UNIQUE_Email
ON ES_EmailAddress( Email )
--这两个语句,都是建立同一约束的,执行一个就OK了。
ALTER TABLE ES_EmailAddress
ADD CONSTRAINT UNIQUE_Email UNIQUE(Email);
CREATE UNIQUE INDEX UNIQUE_Email
ON ES_EmailAddress( Email )
是不是我的ID已经是主键且是自增的原因,导致Email字段没有办法加约束呢谢谢
CREATE UNIQUE INDEX UNIQUE_Email
ON ES_EmailAddress( Email )
我的ID已经是ID键和自建,不能重复
然后现在我想让Mail字段也不能重复
ADD CONSTRAINT UNIQUE_Email UNIQUE(Email);
CREATE UNIQUE INDEX UNIQUE_Email
ON ES_EmailAddress( Email )
--
只要执行基本一个就行了