我怎样才能将这个 SQL 转储导入到 PhpMyAdmin 中而不出现此错误?

How can I get this SQL dump to import into PhpMyAdmin without this error?

我正在尝试使用 PhpMyAdmin 将 SQL 从实时 WordPress 网站转储导入我的本地 MAMP 开发环境,以便我可以在本地对网站进行编辑。我不断收到此错误:

Error
SQL query: INSERT INTO `wp_options` VALUES (259568, '_transient_timeout_geoip_98.80.4.79', '1440122500', 'no');

MySQL said: Documentation
#1062 - Duplicate entry '259568' for key 'PRIMARY'

我对 SQL 的了解很少。可能是什么原因导致的?我需要做什么才能解决问题,以便我可以成功导入数据库并启动站点并在本地 运行?

您可以将 INSERT 语句替换为 INSERT IGNORE。这有助于导入条目,即使它们有重复项。

如果你使用 unix-like OS,你可以使用 sed 命令替换 insert:

cat dump.sql | sed s/"^INSERT"/"INSERT IGNORE"/g > dump-new.sql

或者您可以为 mysqldump 添加选项 --insert-ignore 以编写 INSERT IGNORE 语句而不是 INSERT 语句。

要通过 phpMyAdmin 导出,可以设置一个选项:

Settings -> Export -> SQL -> Use ignore inserts

您的table已有主键值为259568的记录,要求主键唯一。删除现有记录将允许您插入此记录,但删除现有记录也可能会导致问题。