Что использовать для SQL Server вместо «Ключ»? - PullRequest
0 голосов
/ 01 января 2009

У меня есть скрипт запросов MySQL, который я использую и который работает.

Я пытаюсь выполнить те же запросы на сервере Microsoft SQL, но есть одна вещь, которую я не понимаю.

MySql использует «ключ» для определения ключа, составленного из различных полей.

Как сделать то же самое в SQL Server?

Спасибо!

-Adeena

Ответы [ 2 ]

2 голосов
/ 01 января 2009

Вы можете объявить первичный ключ, который состоит из нескольких столбцов в TSQL (язык запросов SQL-сервера)

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

Если вы используете SQL Server Management studio, вы также можете достичь этого с помощью «Изменить таблицу».

1 голос
/ 01 января 2009

В 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...