相互引用两个表

时间:2013-01-22 20:07:58

标签: sql sql-server

出于好奇;

如果我有两张桌子,A和B;

A
ID int (PK)
B_ID int (FK)

B
ID int (PK)
A_ID int (FK)

A具有对B的引用.B具有对A的引用.A_ID和B_ID是不可为空的。

如何向这些表添加行?我不能在没有向B添加行的情况下向A添加行,反之亦然,但是如果表包含此数据;

A
ID   B_ID
1    100

B
ID   A_ID
100  1 

那显然很好。如果我想插入这些数据,我是否必须首先禁用数据完整性,还是可以以某种方式一次添加这两行?

谢谢,并为标题道歉 - 我不知道这叫什么,或者我自己查一下。

1 个答案:

答案 0 :(得分:2)

msdn上有一篇很好解释的文章:

http://blogs.msdn.com/b/sqlazure/archive/2010/07/01/10033575.aspx

和维基百科上的另一个:

http://en.wikipedia.org/wiki/Circular_reference

看看两者并仔细阅读。

希望它对你有所帮助。

干杯