存在双向关联的两个表批量插入场景的专有技术名称问询
对应专有技术名称
该场景的标准专有技术名称为 循环外键延迟填充,也常被业内称为双向关联分步插入方案。
它是关系型数据库中处理循环外键依赖场景的通用写入方案,适配你描述的“两张表互相持有对方外键、不属于多对多关联”的业务规则,核心逻辑就是通过拆分写入动作规避外键约束校验失败问题,执行步骤和你描述的完全一致:
- 先写入第一张表的非关联字段,暂空关联外键列,获取该表生成的主键值
- 再写入第二张表的全量数据,用前一步拿到的第一张表主键填充自身的外键列,同时获取第二张表生成的主键值
- 最后回写第一张表的外键列,填充第二张表的主键值,完成全量数据的一致性写入
内容的提问来源于stack exchange,提问作者Richard98PL
相关产品推荐
相关产品推荐

