在MySQL中插入具有唯一ID冲突的旧数据

在MySQL中插入具有唯一ID冲突的旧数据,mysql,database,primary-key,Mysql,Database,Primary Key,我正在一家中型网站上工作,该网站最近进行了升级。在升级过程中,数据库的各个部分没有被转移。现在这个新网站已经制作了一个多月了,我的老板想把缺失的部分重新整合进来 我需要传输几组具有唯一自动分配的主键ID的表。生产数据库中已经存在冲突的键,因此我不能插入所有行 我想在旧数据的所有主键中添加一个基数(可能是10000)。这将确保与新数据库中已有的内容没有冲突,但我不确定MySQL将如何反应。我还一直想知道是否有更好和/或标准的方法来实现这一点 插入数据的最佳方式是什么?正如我的问题的评论中提到的,迁

我正在一家中型网站上工作,该网站最近进行了升级。在升级过程中,数据库的各个部分没有被转移。现在这个新网站已经制作了一个多月了,我的老板想把缺失的部分重新整合进来

我需要传输几组具有唯一自动分配的主键ID的表。生产数据库中已经存在冲突的键,因此我不能插入所有行

我想在旧数据的所有主键中添加一个基数(可能是10000)。这将确保与新数据库中已有的内容没有冲突,但我不确定MySQL将如何反应。我还一直想知道是否有更好和/或标准的方法来实现这一点


插入数据的最佳方式是什么?

正如我的问题的评论中提到的,迁移脚本是最好的方式。这可以是DB平台的实际迁移脚本,也可以是您选择的语言的脚本,用于从1个数据库中读取数据并将数据添加到第2个数据库中

像我在问题中描述的那样添加一个“基数”是一个坏主意,并且可能会在将来的传输过程中导致错误


我最终手动解决了冲突的ID,这实际上是由于以前的开发人员在早期迁移过程中试图向所有ID添加一个基本编号,而不是向数据库中引入错误的重复数据。

您能否不仅添加所有信息,还添加密钥ID列,让它自动接收新ID?需要保留关系,因此我需要更新主表和引用它的表中的ID,并保持同步。我同意AlwaysLearning,您可以编写迁移脚本,这将传输所有数据并处理关系-因此您可以正确地传输所有数据,而不会弄乱自动增量needed@Laimoncijus不确定这样的迁移脚本如何工作,以前从未使用过类似的东西。完全感兴趣,你能详细说明一下吗?理论上它很简单:一个脚本,它一个接一个地从旧的数据库记录中读取,包括所有相关表中的所有相关记录-然后在新的数据库中插入它们,读取新的ID并用新ID正确地链接记录。。。