我有一个MySQL查询脚本,我使用它并且有效。
我正在尝试在Microsoft SQL Server中执行相同的查询,有一件事我不明白。
MySql使用“key”来定义由不同字段组成的密钥。
在SQL Server中执行相同操作的方法是什么?
谢谢!
-Adeena
答案 0 :(得分:2)
您可以声明由TSQL中的多个列组成的主键(SQL服务器的查询语言)
ALTER TABLE product
ADD CONSTRAINT prim_prod PRIMARY KEY(product_foo, product_bar)
如果您使用SQL Server Management studio,您也可以通过“修改表”来实现此目的。
答案 1 :(得分: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
上的文档。