Как создать составной первичный ключ в SQL Server 2008

Я хочу создавать таблицы в SQL Server 2008, но я не знаю, как создать составной первичный ключ. Как я могу достичь этого?

Ответ 1

create table my_table (
     column_a integer not null,
     column_b integer not null,
     column_c varchar(50),
     primary key (column_a, column_b)
);

Ответ 2

CREATE TABLE UserGroup
(
  [User_Id] INT NOT NULL,
  [Group_Id] INT NOT NULL

  CONSTRAINT PK_UserGroup PRIMARY KEY NONCLUSTERED ([User_Id], [Group_Id])
)

Ответ 3

Через Enterprise Manager (SSMS)...

  • Щелкните правой кнопкой мыши таблицу, на которой вы хотите создать составной ключ, и выберите " Дизайн".
  • Выделите столбцы, которые вы хотите сформировать как составной ключ
  • Щелкните правой кнопкой мыши по этим столбцам и установите первичный ключ.

Чтобы увидеть SQL, вы можете затем щелкнуть правой кнопкой мыши на Table > Script Table As > Create To

Ответ 4

Я знаю, что опаздываю на эту вечеринку, но для существующей таблицы попробуйте:

ALTER table TABLE_NAME
ADD CONSTRAINT [name of your PK, e.g. PK_TableName] PRIMARY KEY CLUSTERED (column1, column2, etc.)

Ответ 5

Для MSSQL Server 2012

CREATE TABLE usrgroup(
  usr_id int FOREIGN KEY REFERENCES users(id),
  grp_id int FOREIGN KEY REFERENCES groups(id),

  PRIMARY KEY (usr_id, grp_id)
)

ОБНОВИТЬ

Я должен добавить!

Если вы хотите добавить изменение внешних/первичных ключей, сначала вы должны создать ключи с ограничениями, иначе вы не сможете вносить изменения. Как это ниже:

CREATE TABLE usrgroup(
  usr_id int,
  grp_id int,

  CONSTRAINT FK_usrgroup_usrid FOREIGN KEY (usr_id) REFERENCES users(id),
  CONSTRAINT FK_usrgroup_groupid FOREIGN KEY (grp_id) REFERENCES groups(id),

  CONSTRAINT PK_usrgroup PRIMARY KEY (usr_id,grp_id)
)

На самом деле последний путь является более здоровым и последовательным. Вы можете посмотреть имена ограничений FK/PK (dbo.dbname> Keys>..), но если вы не используете ограничение, MSSQL автоматически создает случайные имена FK/PK. Вам нужно будет просмотреть каждое изменение (таблица изменений), которое вам нужно.

Я рекомендую вам установить стандарт для себя; ограничение должно быть определено в соответствии с вашим стандартом. Вам не нужно будет запоминать, и вам не придется слишком долго думать. Короче, ты работаешь быстрее.

Ответ 6

Сначала создайте базу данных и таблицу, вручную добавив столбцы. В каком столбце должен быть первичный ключ. Вы должны щелкнуть правой кнопкой мыши этот столбец и установить первичный ключ и установить начальное значение первичного ключа.

Ответ 7

Чтобы создать составной уникальный ключ в таблице

ALTER TABLE [TableName] ADD UNIQUE ([Column1], [Column2], [column3]);

Ответ 8

CREATE TABLE UserGroup
(
  [User_Id] INT Foreign Key,
  [Group_Id] INT foreign key,

 PRIMARY KEY ([User_Id], [Group_Id])
)