Как я могу создать один-ко-многим в одной таблице (MSSQL)Sql Server один-ко-многим в одной таблице
ответ
Вы можете добавить отношения с первичным ключом и внешним ключом в той же таблице, как и для любого другого отношения.
Следующий пример покажет вам, как добавить отношения между (pk_col) PK и (fk_col) FK в той же таблице:
ALTER TABLE dbo.some_table
ADD CONSTRAINT FK_some_table_some_table FOREIGN KEY
(
fk_col
) REFERENCES dbo.some_table
(
pk_col
)
Вы упомянули, что 'pk_col' - это PK, а' fk_col' - FK. Тогда ваш ответ должен был быть следующим: 'ADD CONSTRAINT fk_name FOREIGN KEY (fk_col) ССЫЛКИ some_table (pk_col)' –
@von v. - Действительно, я допустил ошибку при замене имен моих столбцов на pk_col и fk_col. Я отредактирую оригинал, чтобы исправить. Спасибо! :) –
Не беспокойтесь @ Мартин Паркин –
Так же, как вы бы через две таблицы: создать ограничение внешнего ключа.
Попробуйте так:
create table tab1
(
id int,
id1 int,
primary key (id)
)
alter table tab1
add constraint fk_tab1 foreign key (id1)
references tab1 (id)
Вам нужен второй стол, который держит набор из Идентификатор каждого из двух элементов, связанных в таблице.
Вы можете уточнить свой вопрос? Например, вы спрашиваете, как вы будете представлять такие отношения, или как вы будете обеспечивать целостность данных после создания такой связи? –