如何在varchar
区分大小写的字段(SQL Server 2005)上创建唯一约束?
目前我的约束如下:
alter table MyTable add constraint UK_MyTable_MyUniqueKey unique nonclustered (MyCol)
当我尝试插入以下两个值时,出现"违反UNIQUE KEY约束..."错误.
insert into MyTable (MyCol) values ('ABC') insert into MyTable (MyCol) values ('abc') --causes a violation of UNIQUE KEY constraint 'UK_MyTable_MyUnqiueKey'
我希望将两个不同用途的值作为unqiue处理.我想它将涉及以下代码,但我不知道它如何改变我的add constraint
语法.
COLLATE SQL_Latin1_General_CP1_CS_AS
Jason Punyon.. 50
这会将列更改为区分大小写.我认为你的约束没有任何改变......
ALTER TABLE mytable ALTER COLUMN mycolumn VARCHAR(10) COLLATE SQL_Latin1_General_CP1_CS_AS
由于此操作,此列上的任何选择或连接都将区分大小写.
这会将列更改为区分大小写.我认为你的约束没有任何改变......
ALTER TABLE mytable ALTER COLUMN mycolumn VARCHAR(10) COLLATE SQL_Latin1_General_CP1_CS_AS
由于此操作,此列上的任何选择或连接都将区分大小写.