SQL Server将以下字符视为相同,但它们是不同的Unicode字符。当我在包含这些字符的列上放置一个唯一的非聚集索引时,SQL Server不允许我(抛出错误说有重复键,而它们不重复)。我已经在使用nvarchar来支持Unicode字符。
默认排序规则为SQL_Latin1_General_CP1_CI_AS
(我需要支持波斯语/阿拉伯语字符以及所有拉丁语/印度语/中文/日语字符(Unicode))
// Some characters are unseen so please copy and paste the whole
// code area in a Unicode supported text editor.
ٔ
ؐ
ۡ
ۚ
ٝ
ﷲ
۠
ݐ
ݘ
ۖ
ۻ
ݝ
ݡ
ۗ
ﮎ
ػ
ﮒ
ﮪ
ݻ
以下是没有唯一索引的SQL Server CREATE语句(必须禁用TheWord
字段上的唯一索引,因为如上所述,SQL Server将所有上述字符视为相同的字符(或者可能是我在这里遗漏了什么?))。
CREATE TABLE [peplamb].[Words](
[WordId] [bigint] IDENTITY(1,1) NOT NULL,
[TheWord] [nvarchar](128) NOT NULL,
[SourceId] [int] NOT NULL,
[DateModified] [datetime] NOT NULL,
[DateCreated] [datetime] NOT NULL,
CONSTRAINT [PK_Words] PRIMARY KEY CLUSTERED
(
[WordId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
我在这里错过了什么吗?
非常感谢任何帮助。