将测试数据库导入主数据库

时间:2012-07-06 10:46:49

标签: mysql database database-design database-migration

我的问题是我决定建立一个测试数据库,在那里我将我正在测试的数据放在哪里,我可以在哪里玩,没有任何问题。当一切正常时,我将数据迁移到“官方”数据库,我计划迁移不同的测试数据库。

问题是子表。我有:

Table1:          Table2:          Child:
- id             -id              -idTable1
- name           -name            -idTable2
- url            -type            -quantity

要迁移Table1和Table2,我想在“官方”数据库上创建一个临时ID。当我想要迁移表“Child”时,我唯一能想到的就是检查每一行并使用相应的新ID进行更新。 有没有更好的方法来做到这一点?

我还想过忘记测试数据库并且只使用“官方”数据库,但是我害怕每次出错都要从头开始。

我想我在SO上看过几个例子,但它们似乎比我需要的要复杂得多。

1 个答案:

答案 0 :(得分:0)

如果问题是您不想避免在2个(或更多)数据库上出现重复ID, 你应该阅读“auto-increment-increment”和“auto-increment-offset”。

如果服务器1有:

auto-increment-increment                        = 4
auto-increment-offset                           = 1

然后在该服务器上生成的ID号将是:1,5,9,13 ...

和第二台服务器像

一样
auto-increment-increment                        = 4
auto-increment-offset                           = 2

第二台服务器上的ID号将是2,6,10,14 ..

让你复制数据,包括服务器之间的id号码