我正在开发一个最近进行升级的中型网站。在升级期间,数据库的各个部分未被转移。现在这个新网站已经投入生产了一个多月,我的老板希望将这些缺失的部分纳入其中。
我需要传输多组表,其中包含唯一自动分配的主键ID。生产数据库中已存在冲突的密钥,因此我无法插入所有行。
我想到的只是在我的旧数据中为所有主键添加一个基数(可能是10000)。这将确保与新数据库中已有的东西没有冲突,但我不确定MySQL会如何反应。我也一直想知道是否有更好的和/或标准的方法来实现这一目标。
插入数据的最佳方式是什么?
答案 0 :(得分:0)
正如我的问题评论中所提到的,迁移脚本是可行的方法。这可以是数据库平台的实际迁移脚本,也可以是您选择的语言的脚本,该脚本从1个数据库读取并将数据添加到第2个数据库。
像我在我的问题中描述的那样添加“基数”是一个坏主意,并且可能在将来转移期间导致错误。
我最终手动解决了冲突的ID,这实际上是由于之前的开发人员试图在早期迁移过程中向所有ID添加基数。而是将错误的重复数据引入数据库。