0

不久前我建立了两个 Wordpress 博客,显然都有不同的数据库。我最近通过更改表前缀将这些数据库合并为一个,因此这两个“实体”具有相同数量的表和相同的名称(因为它们来自 Wordpress 安装)但具有不同的前缀,即:

Blog1_tabledata1
Blog1_tabledata2
Blog1_tabledata3
Blog1_tabledata4
Blog2_tabledata1
Blog2_tabledata2
Blog2_tabledata3
Blog2_tabledata4

我现在意识到我需要合并这两个数据库(它们都使用相同的表),以便它们可以在同一个 Wordpress 实例中使用(稍后由标签等分隔)。

这样做最简单的方法是什么?

(请注意,我是从 MySQL 的角度提出这个问题的——这不是 Wordpress 的问题!)

4

1 回答 1

0

如果您绝对不是在寻找 wordpress 解决方案,那意味着您没有查看所有域。我的意思是,您没有查看数据的含义。这可能是个问题。但尽管如此:

  1. 找出外键。如果表是 MyIsam 而不是 InnoDB,它们将是隐式的。找出哪个 ID 指向哪个字段。
  2. 从一个数据库中选择并插入另一个数据库。这意味着您将一个表的行添加到目标数据库的等效项中。自动增量行会很好。但是对于外键(显式和隐式)字段,这里是麻烦的开始。
  3. 如果您插入一个用户,则该用户将获得一个新 ID -> 您必须在旧数据库中找到该用户 ID 的等价物,以便您可以插入具有正确 ID 的外键。这很棘手,如果不将其作为 wordpress 问题,我们就无法为您提供更多帮助:只需弄清楚它们应该是哪些行 :)。它是数据库//域特定的。(我的意思是你不能仅仅通过查看字段来弄清楚,你必须知道它们的一些含义)
  4. 如果数据库是正确的,这应该可以工作,但我不确定你是否遇到重复问题(所有都应该继续使用 ID,并且你在步骤 3 中使用唯一且连接的 ID 修复了它。但如果你的域没有想要两个帐户,两个页面或两个任何东西(标签?)具有相同的名称,你仍然有问题。但同样,这是特定于域的逻辑,你特别要求不要去那里。
于 2013-01-28T11:32:27.883 回答