3

我有一个带有注册表单的“即将推出”页面。几周以来,我已经切换到另一个虚拟主机并继续在我的新主机上开发我的新网站,但继续让访问者在我的旧主机上注册。

现在我已将我的域指向我的新主机,并希望导出所有新订阅者并将它们导入新数据库。有些行可能使用相同的 ID。

如何轻松地将表从旧数据库导出并合并到新数据库?请注意,我不希望它覆盖任何具有相同 ID 的行,如果是,我希望它添加一个新行。

我尝试从旧数据库中导出表“wp_csp3_subscribers”并将其导入新数据库。但是得到一个错误,说 ID 已经存在。

4

2 回答 2

7

如果您使用 phpMyAdming(基于您的标签),您可以通过选择“自定义 - 显示所有可能的选项”而不是默认的“快速 - 仅显示最少的选项”来扩展导出选项。

在数据转储选项下,选择“INSERT IGNORE statements”,这将告诉 mySQL 忽略任何具有重复主键的错误。

取自关于 IGNORE 选项的 mySQL 文档:

例如,如果没有 IGNORE,复制表中现有 UNIQUE 索引或 PRIMARY KEY 值的行会导致重复键错误并且语句被中止。使用 IGNORE,行仍然没有插入,但不会发出错误。

希望这能回答你的问题。

于 2013-07-05T22:23:18.943 回答
0

此外,如果您有两个来自转储的 sql 文件,请正常插入一个,可能Enable foreign key checks未选中,然后您的第二个文件想要连接数据,删除第二个文件中的DROP TABLE IF EXISTSandCREATE TABLE行。只留下LOCK TABLES 桌子 WRITE;inserts

于 2022-01-21T20:24:09.290 回答