我知道,使用两个带有相互外键定义的表不是一个好方法,但是我不理解数据库中出现的困难。一个例子:我有一个桌子城市和一个桌子州。 City.city指向state.capitalcity,state.state指向city.state。我将不胜感激,谢谢。
很好。当键为NOT NULL
时会出现问题。在这种情况下,
state
,因为capitalcity
必须存在。capitalcity
,因为状态必须存在。糟糕!这一点就使得很难加载any数据。
当然,您可以通过删除或延迟外键约束来解决此问题。
如果其中一个或两个都可以NULL
,例如capitalcity
,则不会出现此问题。