Mysql 使用相互依赖的外键时有哪些缺点?

Mysql 使用相互依赖的外键时有哪些缺点?,mysql,sql,database,foreign-keys,primary-key,Mysql,Sql,Database,Foreign Keys,Primary Key,我知道使用两个具有相互外键定义的表不是一个好方法,但我不理解数据库中出现的困难。 例如:我有一个表城市和一个表州。City.City指向state.capitalcity和state.state指向City.state。 如果有任何帮助,我将不胜感激。没关系。当键不为空时会出现问题。那么, 无法插入新的状态,因为资本城市需要存在 您无法在资本城市中插入,因为该州需要存在 哎呀!这使得加载任何数据都有点困难 当然,您可以通过删除或延迟外键约束来解决这个问题 如果其中一个或其中任何一个是NULL

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

没关系。当键
不为空时会出现问题。那么,

  • 无法插入新的
    状态
    ,因为
    资本城市
    需要存在
  • 您无法在
    资本城市
    中插入,因为该州需要存在
哎呀!这使得加载任何数据都有点困难

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


如果其中一个或其中任何一个是
NULL
able,那么就没有这个问题了——比如
capitalcity

为什么不提供一个例子,然后我们可以将其分开来猜测一下,可能是一些循环逻辑,例如,如果不同时删除另一条记录,就不能从一个表中删除。其他DML和DDL语句也是如此。试试看会发生什么。好的,谢谢!我试试看