1
1
我不知道特定的数据库引擎,但在您的原子插入和更新操作期间,寻找一种临时挂起数据一致性检查或引用完整性的方法。 |
2
5
你要么在旗舰产品中允许空值,要么重新考虑如何建模这种情况。考虑将旗舰产品作为产品的布尔字段。那么你就没有循环依赖了。或者在产品上有一个“产品类型”字段,该字段可能具有旗舰、普通或过时等价值。当然,你必须强制执行,但在过去,我发现它是解决这类问题的一个更清洁的方法。 |
3
3
我建议使用以下数据模型: 公司
产品
旗舰产品
在中创建旗舰列
|
4
2
为什么不将旗舰产品字段作为布尔值放入产品表中呢?你可以为它和CompanyID编制索引,然后快速查找 |
5
1
唯一能够正确处理此类情况的智能和强大产品是完全接受/实施多重分配概念的系统。 在那个联盟中没有一个SQL系统。 编辑 SQL系统已经延迟了约束检查,但是使用它可能会变得混乱。 |
6
0
这是一个可能的工作大纲。我不知道这个克卢吉比例有多高,但它就在上面。
此后,每当创建客户或产品时,如果尚未创建适当的参考产品/公司,则初始化新项目以指向虚拟标语。接下来输入该项目,并通过更新第一个条目来完成。 好处是,一旦数据库初始化例程完成,您就拥有绝对的引用完整性——并且您大概只在 非常 控制环境,所以仔细观察,确保它不会失败!不坏的一面是,您现在在每个表中都有一个“额外”项目,使您的系统混乱不堪。 |
7
0
你需要打破这个循环 推迟 在事务结束之前,引用完整性约束之一。 请谷歌搜索“最初延期可延期”。 (不确定InnoDB是否支持) |
Gergely Tomcsányi · 内部类和封闭类的单独定义 7 年前 |
rory · 依赖注入循环依赖。NET Core 2.0 7 年前 |
Geowil · 正确编码和调试的命名空间中的未解析函数 7 年前 |
nafets · 解决循环依赖关系Java[已关闭] 8 年前 |
Michael · 首字母缩略词无法正确复数化,导致循环依赖关系 10 年前 |