2013-07-10 56 views
1

我想創建這樣一個複合主鍵:SQL服務器 - 複合鍵生成

CREATE TABLE TableA (Column1 nvarchar(50) NOT NULL, Column2 nvarchar(3) NOT NULL, Column3 nvarchar(50) NOT NULL) 

ALTER TABLE TableA ADD CONSTRAINT PK_AuxGroupData PRIMARY KEY CLUSTERED (Column1 , Column2) 

由於某種原因,第二個查詢產生以下異常:

系統。發生Data.SqlServerCe.SqlCeException消息= 指定的 約束無效。來源= SQL Server精簡ADO.NET 數據提供的HResult = -2147217900 NativeError = 25505

這發生在我運行在調試模式下我從微軟的Visual Studio 2010項目。

我的機器有:

  • 的Microsoft SQL Server 2008精簡3.5 SP2 ENU
  • 的Microsoft SQL Server 2008 壓縮3.5 SP2 x64的ENU

任何幫助嗎?

回答

1

不幸的是,SQL Server Compact Edition不支持聚簇索引。這也適用於主鍵。

鏈接表明它不支持聚簇索引:
- http://technet.microsoft.com/en-us/library/ms345331(v=sql.105).aspx

鏈接顯示,主鍵由唯一索引維護:
- http://technet.microsoft.com/en-us/library/ms173393.aspx

+0

那是一個恥辱......感謝您的快速回復 – RedEagle

+0

這個:http://stackoverflow.com/questions/1545571/how-do-i-make-a-composite-key-with-sql-server-management-studio表明它*是*可能的。 –

+0

@ClayShannon - 這個問題是關於SQL-Server,而不是SQL-Server-CE。這個問題特別是關於SQL-Serve-CE,它具有更多有限的功能。 – MatBailie