使用相互依赖的外键有什么缺点?

问题描述 投票:0回答:1

我知道,使用两个带有相互外键定义的表不是一个好方法,但是我不理解数据库中出现的困难。一个例子:我有一个桌子城市和一个桌子州。 City.city指向state.capitalcity,state.state指向city.state。我将不胜感激,谢谢。

mysql sql database foreign-keys primary-key
1个回答
1
投票

很好。当键为NOT NULL时会出现问题。在这种情况下,

  • 您不能插入新的state,因为capitalcity必须存在。
  • 您不能插入capitalcity,因为状态必须存在。

糟糕!这一点就使得很难加载any数据。

当然,您可以通过删除或延迟外键约束来解决此问题。

如果其中一个或两个都可以NULL,例如capitalcity,则不会出现此问题。

© www.soinside.com 2019 - 2024. All rights reserved.