我有一个我使用和工作的MySQL查询脚本。什么用于SQL Server而不是“密钥”?
我试图在Microsoft SQL Server中执行相同的查询,但有一件事我不明白。
MySql使用“密钥”来定义由不同字段组成的密钥。
在SQL Server中做同样的事情的方法是什么?
谢谢!
-Adeena
我有一个我使用和工作的MySQL查询脚本。什么用于SQL Server而不是“密钥”?
我试图在Microsoft SQL Server中执行相同的查询,但有一件事我不明白。
MySql使用“密钥”来定义由不同字段组成的密钥。
在SQL Server中做同样的事情的方法是什么?
谢谢!
-Adeena
你可以声明由多个列的TSQL(SQL服务器的查询语言)主键
ALTER TABLE product
ADD CONSTRAINT prim_prod PRIMARY KEY(product_foo, product_bar)
如果使用SQL Server Management Studio中,你也可以做到这一点通过“修改表格”。
在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
的文档。
嗯......我认为那里只能有一个主键? – adeena 2009-01-01 18:12:08