获取两个不同VARCHAR值的主键违例

时间:2012-10-09 15:40:00

标签: c#-4.0 sql-server-2008-r2 data-access

  

可能重复:
  SQL query that distinguishes between ß and ss

这可能是一些奇怪的编码问题,但我不知道如何修复它。

我有一个主键列是VARCHAR(50)。如果我插入

dass

然后我插入

daß

然后SQL Server失去理智并抛出主键冲突错误。如果我使用.Net的DataTable类,也会发生这种情况。

这是一个小脚本,所以你可以自己测试一下:

CREATE TABLE Foo
(
    Word varchar(50) NOT NULL
)

ALTER TABLE Foo ADD  CONSTRAINT PK_Foo PRIMARY KEY CLUSTERED 
(
    [Word] ASC
)

INSERT INTO Foo VALUES ('dass')
INSERT INTO Foo VALUES ('daß')

有关如何解决此问题的任何想法?我试图制作NCHAR列,但这不起作用。

0 个答案:

没有答案