gpt4 book ai didi

SQL Server对unicode字符的唯一约束问题

转载 作者:行者123 更新时间:2023-12-03 00:23:21 24 4
gpt4 key购买 nike

我的表定义如下:

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 字符会导致这些问题吗?

最佳答案

尝试使用更具体的(二进制)排序规则来声明 NativeName 列。

例如:

 NativeName nvarchar(50) collate SQL_Latin1_General_CP437_BIN not null unique 

关于SQL Server对unicode字符的唯一约束问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19304707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com