2013-02-07 68 views
3

我在MS SQL中有一張表,其中有一個TERMINAL varchar(50)列,並且我有一個唯一的密鑰。 當我嘗試插入記錄'HOST1'然後'HOST1'時,我得到英國密鑰違例異常。 爲什麼MS sql處理這兩個字符串,因爲它們會一樣?MS SQL唯一鍵 - 錯誤或功能?

感謝 ž

回答

5

我相信,MS SQL條在年底VARCHAR空白。

+1

+1對此的更多信息:http://stackoverflow.com/a/4166186/390819 – GolfWolf

+1

1)ANSI SQL功能。 2)[sqlservercentral.com](http://www.sqlservercentral.com/Forums/Topic1079506-338-1.aspx#bm1080070) –

+0

按照標準,它在技術上的作用是將*空格添加到較短的字符串中。我從來沒有設法構建一種方案,即添加空格會獲得與剝離空間不同的結果,但這正是標準所說的。 –