Я хочу создавать таблицы в 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])
)