0

我在将数据放入生产服务器时遇到了一个特别奇怪的问题。我的测试服务器运行 MySQL 5.1.41。我导出数据库(通过 mysqldump 和 PHPMyAdmin 都尝试过),然后尝试导入运行 MySQL 5.0.92 的生产服务器。

在其中一个表中,我收到错误“#1062 - 键 1 的重复条目 '1'”。该表有一个 PRIMARY 键和一个 UNIQUE 复合键。当我查看 phpmyadmin 错误的输出时,我没有看到任何重复项。

我已经尝试过: - 使用“添加自动增量”选项导出 - 检查排序规则是否相同。他们是。此外,有问题的键是数字。

因此,如果有人知道可能导致错误的原因以及如何解决它 - 我将不胜感激。

4

3 回答 3

0

尝试从转储中的表中删除索引,然后,当所有数据都将被导入时,手动添加它。

于 2011-06-06T08:02:53.120 回答
0

如果源数据库中一切正常,我唯一能想到的就是目标数据库没有将相应的列设置为 AUTO_INCREMENT。

在导入源转储之前,您是否尝试过在目标数据库中手动创建该表并将相关列设置为 AUTO_INCREMENT?

于 2011-06-06T08:04:35.437 回答
0

解决方案是在导入之前从列中删除 AUTO_INCREMENT 属性。但是,仍然不明白为什么。索引实际上可以保留。然后可以轻松地将 AUTO_INCREMENT 添加回来。混合了 Martin 和 Silver Light 的建议,但我想没有一个答案是完全正确的。

于 2011-06-06T21:50:16.180 回答