Я хочу создавать таблицы в SQL Server 2008, но я не знаю, как создать составной первичный ключ. Как мне этого добиться?
Я хочу создавать таблицы в SQL Server 2008, но я не знаю, как создать составной первичный ключ. Как мне этого добиться?
Ответы:
create table my_table (
column_a integer not null,
column_b integer not null,
column_c varchar(50),
primary key (column_a, column_b)
);
CREATE TABLE UserGroup
(
[User_Id] INT NOT NULL,
[Group_Id] INT NOT NULL
CONSTRAINT PK_UserGroup PRIMARY KEY NONCLUSTERED ([User_Id], [Group_Id])
)
Через Enterprise Manager (SSMS) ...
Для того, чтобы увидеть SQL вы можете правой кнопкой мыши на Table
> Script Table As
>Create To
Для 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. Вам нужно будет просмотреть каждое изменение (таблица изменений), которое вам нужно.
Я рекомендую вам установить стандарт для себя; ограничение должно быть определено в соответствии с вашим стандартом. Вам не придется запоминать, и вам не придется слишком долго думать. Короче, ты работаешь быстрее.
Сначала создайте базу данных и таблицу, вручную добавив столбцы. В каком столбце должен быть первичный ключ. Вы должны щелкнуть правой кнопкой мыши по этому столбцу и установить первичный ключ и установить начальное значение первичного ключа.
Создать составной уникальный ключ на столе
ALTER TABLE [TableName] ADD UNIQUE ([Column1], [Column2], [column3]);
CREATE TABLE UserGroup
(
[User_Id] INT Foreign Key,
[Group_Id] INT foreign key,
PRIMARY KEY ([User_Id], [Group_Id])
)