1

出于好奇;

如果我有两张桌子,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 

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

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

4

1 回答 1

2

msdn上有一篇解释清楚的文章:

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

另一个在维基百科上:

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

看看两者并仔细阅读它们。

希望它可以帮助你。

干杯

于 2013-01-22T20:44:25.560 回答