2013-12-17 20 views
1

我有這個表「汽車」設置一個主鍵,屬性:如何使用SQL

MODEL nvarchar(20) 
STYLE nvarchar(20) 
ENGINE nvarchar(5) 
CAPACITY smallint 
MAX_SPEED smallint 
PRICE smallmoney 
MARKET nvarchar(20) 
COMPETITOR nvarchar(20) 

我想設置的「價格」爲通過SQL sStatement的主鍵,所以我試着:

ALTER TABLE Cars 
ADD PRIMARY KEY (PRICE) 

但我只是得到錯誤

的ALTER TABLE SQL構造或語句不支持。

在Visual Studio 2010

+4

'價格'似乎是一個主鍵的糟糕的選擇。例如,不允許重複。 –

+0

不僅如此,價格可以改變。 –

+0

同意不好的選擇....首先閱讀主鍵... http://technet.microsoft.com/en-US/library/ms191236(v=SQL.105).aspx –

回答

1

如上所述,價格是一個不好的主鍵。但是...正確的語法來做你想做的事是:

ALTER TABLE Cars 
ADD CONSTRAINT cars_pk PRIMARY KEY (PRICE) 
+1

您的語句被正確書寫,但僅僅爲了提供「盲目」答案並不是一個好習慣點... – user3104183

0

Visual Studio是不是數據庫客戶端。如果你想運行任何查詢,你必須使用一個允許你這樣做的客戶端。細節取決於您使用的數據庫引擎。

如果您想使用Visual Studio做到這一點,您必須發送該命令作爲查詢,與發送選擇查詢的方式相同。細節再一次取決於你的數據庫引擎。

依賴於數據庫引擎的其他內容是命令本身的語法。有些人會允許你嘗試。其他將使你使用約束關鍵字。

最後,正如評論中所提到的,價格對於主鍵來說是一個糟糕的選擇。更好的選擇是一個uuid,一個自動增量整數或VIN。