我有我的表的定義如下:SQL Server的唯一約束問題的Unicode字符
create table [Language](
Id int primary key identity,
Code varchar(11) not null unique,
NativeName nvarchar(50) not null unique
)
然後,我有一個表插入語句的一個長長的清單。問題是一些插入語句在我的NativeName
列的唯一約束上發生衝突。奇怪的是,內容並不是唯一的。例如,如果我只在表中插入以下空表:
insert into Language (Code, NativeName) values('am', N'አማርኛ');
insert into Language (Code, NativeName) values('dv', N'ދިވެހިބަސް');
我得到第二個插入。
Violation of UNIQUE KEY constraint 'UQ__Language__EB1957A5F98D1F9C'. Cannot insert duplicate key in object 'dbo.Language'. The duplicate key value is (ދިވެހިބަސް).
有誰知道爲什麼unicode字符導致這些問題?
聽起來像一個排序問題。請參閱[使用排序規則](http://technet.microsoft.com/en-us/library/ms187582(v = sql.105).aspx) – JDB