2013-03-19 10 views
1

我怎样才能创建同桌一个一对多的关系(MSSQL)Sql Server的一个一对多的关系

+0

你能澄清你的问题吗?例如,你是问你如何代表这种关系,或者一旦创建了这种关系,你将如何执行数据完整性? – 2013-03-19 08:44:02

回答

2

可以与主键和外键在同一个表按任何其他关系添加关系。

下面的例子会告诉你如何添加(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 
    ) 
+0

您提到'pk_col'是PK,'fk_col'是FK。你的答案应该是:'ADD CONSTRAINT fk_name FOREIGN KEY(fk_col)REFERENCES some_table(pk_col)' – 2013-03-19 08:58:19

+0

@von v。 - 的确,我在用pk_col和fk_col替换列名时犯了一个错误。我会编辑原件来纠正。谢谢! :) – 2013-03-19 08:59:43

+1

不用担心@Martin Parkin – 2013-03-19 09:15:15

3

就像你会跨越两个表:创建一个外键约束。

3

试试这个方法:

create table tab1 
(
    id int, 
    id1 int, 
    primary key (id) 
) 

alter table tab1 
    add constraint fk_tab1 foreign key (id1) 
    references tab1 (id) 
0

您需要这使一组的第二表表格中每两个元素的ID都是相关的。