gpt4 book ai didi

java - 如何解决数据冲突

转载 作者:行者123 更新时间:2023-12-01 14:46:39 24 4
gpt4 key购买 nike

我有几个数据库,需要在它们之间交换数据。当我从数据库A导出导入到数据库B时,会发生Id冲突。我想了两种办法,没有一个能让我满意。

  1. 选择 max(id) 然后创建新的 id 以避免冲突,但是一列存储 json 结构并且也包含 id! (历史原因)。因此,我需要创建新的 Id(主键)并修改该 json 列中的所有 id。

  2. 或者我可以为每个数据导入添加批处理信息。当我导入数据时,我找出sql中的每个id并在它们之前添加batch id。如:

原始数据库如下:

ID     COL_JSON
11 {id:11,name:xx ...}

我想插入一条新记录:11,插入后我在id之前添加一个批处理信息“1000”

现在数据库看起来像

ID     COL_JSON
11 {id:11,name:xx ...}
100011 {id:100011,name:xx ...}

下一批将是 1001,1002 1003 ...,所以如果需要插入新的 11 条记录,数据库看起来像

ID     COL_JSON
11 {id:11,name:xx ...}
100011 {id:100011,name:xx ...}
100111 {id:100111,name:xx ...}

虽然这两种方法可以解决冲突,但我觉得这两种方法很愚蠢。有什么优雅的方案吗?

最佳答案

对于遗留系统,除了与其保持一致没有更好的方法。我们无法在遗留系统上对其进行更多更改,因此您的第二种方法似乎不错。坦率地说,这并不愚蠢,而且是正确的做法。

关于java - 如何解决数据冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15382666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com