首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于合并数据库记录和M2M中间表中的约束冲突

关于合并数据库记录和M2M中间表中的约束冲突
EN

Software Engineering用户
提问于 2012-10-30 00:16:23
回答 3查看 120关注 0票数 0

如果您正在合并表X中的两个或多个数据库记录,这些记录与表Y有多到多的关系,那么您应该如何解决中间表Z中的记录由于合并而违反一个或多个约束的问题?您是简单地丢弃它们还是中断事务处理?

EN

回答 3

Software Engineering用户

发布于 2012-10-30 10:37:43

这取决于你期待的结果。通常,您还必须合并表Z以保持数据完整性。

不应丢弃违反约束的记录。如果那些丢失的记录是你的月薪建议,那就太烦人了。

票数 1
EN

Software Engineering用户

发布于 2012-10-30 11:13:51

个人而言,我会删除表Z中的关系,然后从X中删除相关记录,合并记录,然后将新记录重写到数据库中。这意味着您不需要破坏任何约束,也不需要禁用约束,也不太可能通过丢弃旧数据来合并错误。

票数 1
EN

Software Engineering用户

发布于 2012-10-30 12:04:37

这个问题有几种不同的发生方式:

表Z有糟糕的数据(不确定它最初是为什么或者是怎么进来的)。然后,随着如何处理坏数据,它就变成了一个商业决策。您通常需要向业务报告这些(坏的)数据,并让他们做出决定。然后选择适当的方法来解决这个问题。

2-如果表X或表Y使用自动生成的in,而表Z数据引用这些in,则在尝试加载表Z时可能会遇到此问题(假设您已经成功地加载了X和Y中的所有行)。在这种情况下,加载表Z而不强制FK约束(加载Z之前放松约束),加载Z,然后在单独的步骤上重新构建约束。

作为开发人员或DBA,在没有明确的用户协议的情况下,您不会丢弃生产数据。此外,允许保持备份。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/171836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档