2009-01-01 42 views
0

我有一個我使用和工作的MySQL查詢腳本。什麼用於SQL Server而不是「密鑰」?

我試圖在Microsoft SQL Server中執行相同的查詢,但有一件事我不明白。

MySql使用「密鑰」來定義由不同字段組成的密鑰。

在SQL Server中做同樣的事情的方法是什麼?

謝謝!

-Adeena

回答

2

你可以聲明由多個列的TSQL(SQL服務器的查詢語言)主鍵

ALTER TABLE product 
    ADD CONSTRAINT prim_prod PRIMARY KEY(product_foo, product_bar) 

如果使用SQL Server Management Studio中,你也可以做到這一點通過「修改表格」。

+0

嗯......我認爲那裏只能有一個主鍵? – adeena 2009-01-01 18:12:08

1

在MySQL中,關鍵字KEY只是INDEX的同義詞。下面的兩個是等價的:

CREATE TABLE foo (
    id  SERIAL PRIMARY KEY, 
    ctime DATETIME, 
    KEY ctkey (ctime) 
); 

CREATE TABLE foo (
    id  SERIAL PRIMARY KEY, 
    ctime DATETIME, 
    INDEX ctidx (ctime) 
); 

在Microsoft SQL Server中,最接近的等效是INDEX。據我所知,要在Microsoft SQL Server的列上創建索引,請使用CREATE INDEX。您還可以創建約束條件來構建索引作爲CREATE TABLE語句的一部分,但如果您只需要索引,請使用CREATE INDEX

CREATE TABLE foo (
    id  BIGINT IDENTITY PRIMARY KEY, 
    ctime DATETIME 
); 

CREATE INDEX ctidx ON foo(ctime); 

另請參閱有關CREATE INDEX的文檔。

相關問題